Sort by

recency

|

1328 Discussions

|

  • + 0 comments

    MS SQL Server:

    WITH remainders AS (
        SELECT dividends.value AS num, dividends.value % divisors.value AS md 
        FROM generate_series(3, 1000, 2) AS dividends JOIN generate_series(2, 1000, 1) AS divisors 
        ON (divisors.value <= floor(sqrt(dividends.value))+1))
    SELECT STRING_AGG(p, '&') WITHIN GROUP (ORDER BY p) FROM (
        SELECT 2 AS p
        UNION ALL
        SELECT num AS p 
        FROM remainders 
        GROUP BY num 
        HAVING MIN(md) <> 0) primes;
    
  • + 0 comments
    WITH RECURSIVE A AS 
        (SELECT 2 AS NUM
         UNION ALL
         SELECT NUM +1 AS NUM
         FROM A
         WHERE NUM < 1000
        ),
        
    PRIME AS
        (
        SELECT N1
        FROM
            (SELECT N1.NUM N1, N2.NUM N2,SUM(1) OVER(ORDER BY N1.NUM) S
            FROM A N1
            LEFT JOIN A N2 
            ON (N1.NUM % N2.NUM) = 0
            ) A
        GROUP BY N1
        HAVING COUNT(N1) =1
        )
    
    SELECT GROUP_CONCAT(N1 ORDER BY N1 SEPARATOR '&')
    FROM PRIME
    
  • + 0 comments
    WITH enum(n) AS(
        SELECT 1 AS n
        UNION ALL
        SELECT n+1
        FROM enum
        WHERE n<1000
    ), Numbers AS (
        SELECT
            n
        FROM
            enum
    ), Divisors AS (
        SELECT TOP 100
            n
        FROM
            Numbers
        ORDER BY
            n
    ), Is_prime AS (
        SELECT DISTINCT
            n.n,
            COUNT(CASE WHEN (n.n % d.n = 0) THEN 1 END) AS count_divisions
        FROM
            Numbers AS n, Divisors AS d
        GROUP BY
            n.n
    ), Primes AS (
    SELECT 
        n 
    FROM 
        Is_prime 
    WHERE
        ((count_divisions = 2) AND n < 100) OR ((count_divisions = 1) AND (n > 100))
    )
    SELECT
        STRING_AGG(CAST(n AS VARCHAR), '&') AS PrimeList
    FROM
        Primes
    OPTION (MAXRECURSION 1000);
    
  • + 0 comments

    SET @N = 1000;

    WITH RECURSIVE numbers(n) AS ( SELECT 2 UNION ALL SELECT n + 1 FROM numbers WHERE n + 1 <= @N ), divisors as ( SELECT n, 2 as d FROM numbers WHERE n>2 UNION ALL SELECT n, d+1 FROM divisors WHERE d+1

  • + 0 comments

    select listAgg(num,'&') WITHIN GROUP (order by num) from (select distinct num,count(distinct e_R) over(partition by num) cnt from ( select num,num2, case when num=2 then 1 when num21)n1 cross join (select num2 from (SElect level as num2 from dual connect by level<=1000) where num2>1)n2 )order by num) where cnt=1;