Sort by

recency

|

1311 Discussions

|

  • + 0 comments
    WITH RECURSIVE asd (i) AS
    (
      SELECT 1
      UNION ALL
      SELECT i + 1 FROM asd WHERE i < 1000
    )
    SELECT GROUP_CONCAT(num1.i SEPARATOR '&') 
    FROM asd num1
    WHERE num1.i > 1
        AND num1.i NOT IN (
    SELECT asd.i FROM asd INNER JOIN asd AS num1 
    WHERE asd.i > num1.i 
        AND asd.i % num1.i = 0
        AND num1.i != 1)
    
  • + 0 comments

    Oracle pl/sql

    SET SERVEROUTPUT ON;
    DECLARE
    RESULT VARCHAR2(2001) := '';
    PRIM BOOLEAN := TRUE;
    
    BEGIN
        FOR I IN 2.. 1000 LOOP    
            PRIM := TRUE;
            FOR J IN 2..FLOOR(sqrt(I)) LOOP
                if mod(i, j) = 0 then   
                    PRIM := FALSE;
                    EXIT;
                end if;
            END LOOP;
            
            IF PRIM THEN
                RESULT := RESULT || I || '&' ;
            END IF;
        END LOOP;
        DBMS_OUTPUT.PUT_LINE(substr(RESULT,1,length(RESULT)-1));
    END;
    /
    
  • + 0 comments

    MS SQL Solution:

    WITH NUM AS ( SELECT 2 AS N UNION ALL SELECT N +1 FROM NUM WHERE N < 999 ) , primeNum AS ( SELECT N FROM NUM A WHERE
    NOT EXISTS ( SELECT 1 FROM NUM B WHERE A.N % B.N = 0 AND A.N != B.N ) ) SELECT STRING_AGG(N,'&') FROM primeNum OPTION(MAXRECURSION 1000)

  • + 0 comments

    In Oracle:

    SET SERVEROUTPUT ON;

    DECLARE result VARCHAR2(32767) := ''; num INTEGER := 0;

    -- Cursor to generate numbers from 1 to 1000
    CURSOR c1 IS (SELECT LEVEL n FROM dual CONNECT BY LEVEL <= 1000);
    
    -- Function to check if a number is prime
    FUNCTION is_prime(n INTEGER) RETURN BOOLEAN IS
        divisor INTEGER;
    BEGIN
        IF n < 2 THEN
            RETURN FALSE;
        ELSIF n IN (2, 3, 5) THEN
            RETURN TRUE;
        ELSIF MOD(n, 2) = 0 OR MOD(n, 3) = 0 OR MOD(n, 5) = 0 THEN
            RETURN FALSE;
        END IF;
    
        divisor := 7;
        WHILE divisor * divisor <= n LOOP
            IF MOD(n, divisor) = 0 THEN
                RETURN FALSE;
            END IF;
            divisor := divisor + 2;  -- Skip even numbers
        END LOOP;
    
        RETURN TRUE;
    END is_prime;
    

    BEGIN FOR c1_rec IN c1 LOOP IF is_prime(c1_rec.n) THEN result := result || c1_rec.n || '&'; END IF; END LOOP;

    -- Trim the last '&' and output result
    dbms_output.PUT_LINE(TRIM(TRAILING '&' FROM result));
    

    END; /

  • + 0 comments

    DECLARE @POSSIBLEPRIME INT = 3 DECLARE @text NVARCHAR(MAX) = '2'

    WHILE @POSSIBLEPRIME <= 1000 BEGIN DECLARE @Counter INT = 2 DECLARE @IsPRIME bit = 1 WHILE @Counter < @PossiblePrime BEGIN if @PossiblePrime % @Counter = 0 begin Set @IsPRIME = 0; break; end Set @Counter = @Counter + 1 END if @IsPRIME = 1 begin SET @text = @text + '&' + cast(@POSSIBLEPRIME as varchar) end SET @POSSIBLEPRIME = @POSSIBLEPRIME + 1 SET @IsPrime = 1 END

    print @text