Sunday, 24 March 2019

Print Prime Numbers In SQL::- HackerRank Solution

Problem:-

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

Error While embed the video in Your website page

Error:- Refused to display '<URL>' in a frame because it set 'X-Frame-Options' to 'sameorigin Solution:- if ...