如何打印給定范圍內(nèi)的素?cái)?shù)|Oracle 19c|

我一直試圖寫一個(gè)邏輯來打印所有素?cái)?shù)。

并且在1100的范圍內(nèi)如預(yù)期工作。

但是,當(dāng)我將范圍從1增加到500時(shí),它不起作用

能否詳細(xì)解釋一下我下面代碼中的錯(cuò)誤以及如何改進(jìn)。

任何簡(jiǎn)單或不同的打印素?cái)?shù)的方法都會(huì)受到歡迎

Code :

SELECT
    result
FROM
    (
        SELECT
            CASE
                WHEN ROWNUM = 2 THEN
                    ROWNUM
                WHEN ROWNUM = 3 THEN
                    ROWNUM
                WHEN ROWNUM = 5 THEN
                    ROWNUM
            END AS result
        FROM
            dual
        CONNECT BY
            ROWNUM <= 5
    )
WHERE
    result IS NOT NULL
UNION ALL
SELECT
    result
FROM
    (
        SELECT
            decr1 AS result
        FROM
            (
                SELECT
                    rn AS decr1
                FROM
                    (
                        SELECT
                            ROWNUM AS rn
                        FROM
                            dual
                        CONNECT BY
                            ROWNUM < 1000
                    )
            )
        WHERE
            decr1 > 5
        MINUS
        SELECT
            decr AS result
        FROM
            (
                SELECT
                    t.rn AS decr
                FROM
                    (
                        SELECT
                            ROWNUM AS rn
                        FROM
                            dual
                        CONNECT BY
                            ROWNUM < 1000
                    ) t
                WHERE
                    rn >= 6
            )
        WHERE
            mod(decr, 2) = 0
            OR mod(decr, 3) = 0
            OR mod(decr, 4) = 0
            OR mod(decr, 5) = 0
            OR mod(decr, 6) = 0
            OR mod(decr, 7) = 0
            OR mod(decr, 8) = 0
            OR mod(decr, 9) = 0
            OR mod(decr, 10) = 0
    );

我的輸出范圍為1100

? 最佳回答:

當(dāng)您決定在SQL中執(zhí)行此操作時(shí),您已經(jīng)放棄了處理效率,因此您最好選擇一些明確的方法。這是一個(gè)SQL,它幾乎是沿著質(zhì)數(shù)定義的直線:

with nat as (SELECT rownum n FROM DUAL CONNECT BY ROWNUM <= 100 )
SELECT n   -- give me any number...
from   nat n1  -- ... from the set of natural numbers ...
where   not exists ( SELECT n FROM nat n2 where mod(n1.n,n2.n)=0 AND n2.n between 2 and n1.n-1)  -- ... that cannot be evenly divided by a smaller natural number
and n > 1  -- ... and 1 is not prime
主站蜘蛛池模板: 亚洲欧洲专线一区| 一区二区三区四区视频在线| 精品人妻无码一区二区三区蜜桃一 | 一区二区三区91| 美女AV一区二区三区| 久久综合精品国产一区二区三区| 国产日韩综合一区二区性色AV| 加勒比精品久久一区二区三区| 国产免费播放一区二区| 日本一区二区三区精品中文字幕| 精品欧洲av无码一区二区三区| 蜜芽亚洲av无码一区二区三区 | 国产福利电影一区二区三区,亚洲国模精品一区 | 一区一区三区产品乱码| 精品视频一区二区| 国产成人精品一区二区三区免费| 久久精品一区二区三区不卡| 精品熟人妻一区二区三区四区不卡| 天天视频一区二区三区| 精品日韩在线视频一区二区三区| 亚洲一区精品中文字幕| 国产综合视频在线观看一区| 国产一在线精品一区在线观看| 91精品一区二区三区久久久久| 精品人妻无码一区二区三区蜜桃一 | 无码成人一区二区| 波多野结衣一区在线观看| 国产在线精品一区二区高清不卡 | 黑人一区二区三区中文字幕| 中文字幕aⅴ人妻一区二区| 精品人妻系列无码一区二区三区| 国产精品99无码一区二区| 高清精品一区二区三区一区| 久久久久女教师免费一区| 精品国产一区二区三区| 一区二区视频在线观看| 久久精品国产第一区二区| 免费无码一区二区三区蜜桃大| 天堂资源中文最新版在线一区| 久久精品国产一区二区三区不卡| 成人毛片无码一区二区|