We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
WITH RECURSIVE numbers AS (
SELECT 2 AS n
UNION ALL
SELECT n + 1 FROM numbers WHERE n <= 1000
),
divisors AS (
SELECT n.n AS num, d.n AS di
FROM numbers n
JOIN numbers d ON d.n <= FLOOR(SQRT(n.n))
),
non_primes AS (
SELECT DISTINCT num
FROM divisors
WHERE num % di = 0
),
primes AS (
SELECT n.n AS prime
FROM numbers n
WHERE n.n NOT IN (SELECT num FROM non_primes)
)
SELECT GROUP_CONCAT(prime ORDER BY prime SEPARATOR '&') AS prime_list
FROM primes;
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Print Prime Numbers
You are viewing a single comment's thread. Return to all comments →
WITH RECURSIVE numbers AS ( SELECT 2 AS n UNION ALL SELECT n + 1 FROM numbers WHERE n <= 1000 ), divisors AS ( SELECT n.n AS num, d.n AS di FROM numbers n JOIN numbers d ON d.n <= FLOOR(SQRT(n.n)) ), non_primes AS ( SELECT DISTINCT num FROM divisors WHERE num % di = 0 ), primes AS ( SELECT n.n AS prime FROM numbers n WHERE n.n NOT IN (SELECT num FROM non_primes) ) SELECT GROUP_CONCAT(prime ORDER BY prime SEPARATOR '&') AS prime_list FROM primes;