Print Prime Numbers
Print Prime Numbers
+ 0 comments in MS SQL to output all numbers in one line:
SELECT STRING_AGG(NUM, '&') FROM @PRIMES
+ 0 comments with prime as ( select 2 as num union all select num+1 from prime where num<1000 ) select string_agg(num,'&') from ( select p1.num from prime p1,prime p2 where p1.num <> p2.num and p1.num%p2.num !=0 group by p1.num having count(p1.num)=998)a option (maxrecursion 1000);
+ 0 comments solution in ms sql (without recursive, For Dummies :D)
DECLARE @counter INT; DECLARE @numbers VARCHAR(700) = '2&3'; DECLARE @my_number INT = 4; DECLARE @your_number INT = 1000; -- Specify the upper limit here WHILE @my_number <= @your_number BEGIN SET @counter = 2; DECLARE @is_prime BIT = 1; -- Flag variable WHILE @counter < @my_number BEGIN IF @my_number % @counter = 0 BEGIN SET @is_prime = 0; -- Set flag to indicate not prime BREAK; -- Break out of the inner loop END; SET @counter = @counter + 1; END; IF @is_prime = 1 BEGIN SET @numbers = CONCAT(@numbers, '&', @my_number); END; SET @my_number = @my_number + 1; END; SELECT @numbers AS numbers;
+ 0 comments Using recursion and co-related subquery in MSSQL:
WITH CTE AS ( SELECT 2 as first_num UNION ALL SELECT first_num + 1 FROM CTE WHERE first_num <1000 )
SELECT STRING_AGG(a.first_num,'&') FROM CTE AS a WHERE NOT EXISTS ( SELECT 1 FROM CTE AS b WHERE a.first_num % b.first_num = 0 AND a.first_num <> b.first_num ) OPTION(MAXRECURSION 0)
+ 0 comments /* Enter your query here. */ WITH RECURSIVE t AS ( SELECT 3 AS nums UNION SELECT nums + 2 FROM t WHERE nums <= 1000 ) SELECT concat('2&', GROUP_CONCAT(nums SEPARATOR '&')) FROM t WHERE nums NOT IN ( SELECT DISTINCT a.nums FROM t a JOIN t b ON b.nums <= FLOOR(SQRT(a.nums)) AND a.nums % b.nums = 0 )
Sort 1025 Discussions, By:
Please Login in order to post a comment