Sort by

recency

|

1377 Discussions

|

  • + 0 comments
    DECLARE @lim int = 1000;
    DECLARE @counter int = 3;
    DECLARE @primes table(number int);
    INSERT INTO @primes VALUES (2)
    WHILE @counter <= @lim
        BEGIN
            if not exists (select top 1 1 from @primes where @counter % number = ``0)
                INSERT into @primes VALUES(@counter)
    		SET @counter = @counter + 2 -- only checking odd numbers
        END
    SELECT STRING_AGG(number,'&') FROM @primes;
    
  • + 0 comments

    CTE numbers: Generates numbers from 2 to 1000. CTE primes: Filters only prime numbers by checking divisibility — if no number less than n divides n, it’s prime. GROUP_CONCAT(... SEPARATOR '&'): Joins all primes in one line using &.

    WITH RECURSIVE numbers AS ( SELECT 2 AS n UNION ALL SELECT n + 1 FROM numbers WHERE n < 1000 ), primes AS ( SELECT n FROM numbers AS a WHERE NOT EXISTS ( SELECT 1 FROM numbers AS b WHERE b.n < a.n AND b.n > 1 AND MOD(a.n, b.n) = 0 ) ) SELECT GROUP_CONCAT(n SEPARATOR '&') AS prime_numbers FROM primes;

  • + 0 comments

    DECLARE @n INT = 1000; DECLARE @i INT = 2; DECLARE @j INT; DECLARE @isPrime BIT; DECLARE @result VARCHAR(8000) = '';

    WHILE @i <= @n BEGIN SET @isPrime = 1; SET @j = 2;

    WHILE @j * @j <= @i
    BEGIN
        IF @i % @j = 0
        BEGIN
            SET @isPrime = 0;
            BREAK;
        END
        SET @j = @j + 1;
    END
    
    IF @isPrime = 1
    BEGIN
        IF LEN(@result) > 0
            SET @result = @result + '&' + CAST(@i AS VARCHAR(10));
        ELSE
            SET @result = CAST(@i AS VARCHAR(10));
    END
    
    SET @i = @i + 1;
    

    END

    SELECT @result AS prime_numbers;

  • + 0 comments

    WITH RECURSIVE numbers AS ( SELECT 2 AS n UNION ALL SELECT n + 1 FROM numbers WHERE n < 1000 ) SELECT GROUP_CONCAT(n SEPARATOR '&') AS prime_numbers FROM numbers WHERE NOT EXISTS ( SELECT 1 FROM numbers AS d WHERE d.n <= SQRT(numbers.n) AND numbers.n % d.n = 0 AND d.n > 1 );

  • + 0 comments

    WITH RECURSIVE numbers AS ( SELECT 2 AS n UNION ALL SELECT n + 1 FROM numbers WHERE n < 1000 ), primes AS ( SELECT n FROM numbers WHERE n NOT IN ( SELECT n1.n FROM numbers n1 JOIN numbers n2 ON n2.n < n1.n AND n1.n % n2.n = 0 WHERE n2.n > 1 ) ) SELECT GROUP_CONCAT(n SEPARATOR '&') AS prime_numbers FROM primes;