Problem:-
Solution:-
SELECT GROUP_CONCAT(prime.val SEPARATOR "&") FROM
(SELECT 2 AS val UNION
SELECT sq1.val FROM
(SELECT t1.0*6*6*6+t2.0*6*6+t3.0*6+t4.0 AS val FROM
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t1,
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t2,
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t3,
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t4) AS sq1,
(SELECT t1.0*6*6*6+t2.0*6*6+t3.0*6+t4.0 AS val FROM
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t1,
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t2,
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t3,
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t4) AS sq2
WHERE sq1.val > sq2.val AND sq1.val BETWEEN 2 AND 1000 AND sq2.val BETWEEN 2 AND 1000
GROUP BY sq1.val
HAVING MIN(MOD(sq1.val, sq2.val)) <> 0) AS prime
Write a query to print all prime numbers less than or equal to . Print your result on a single line, and use the ampersand () character as your separator (instead of a space).
For example, the output for all prime numbers would be:
2&3&5&7
Solution:-
SELECT GROUP_CONCAT(prime.val SEPARATOR "&") FROM
(SELECT 2 AS val UNION
SELECT sq1.val FROM
(SELECT t1.0*6*6*6+t2.0*6*6+t3.0*6+t4.0 AS val FROM
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t1,
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t2,
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t3,
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t4) AS sq1,
(SELECT t1.0*6*6*6+t2.0*6*6+t3.0*6+t4.0 AS val FROM
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t1,
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t2,
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t3,
(SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS t4) AS sq2
WHERE sq1.val > sq2.val AND sq1.val BETWEEN 2 AND 1000 AND sq2.val BETWEEN 2 AND 1000
GROUP BY sq1.val
HAVING MIN(MOD(sq1.val, sq2.val)) <> 0) AS prime
No comments:
Post a Comment