• 计算某个范围之内的所有质数


    计算某个范围之内的所有质数
     /*
    --功能:计算某个范围之内的所有质数
    --作者:
    --日期:20180927
    --语言:t-sql for sql server 2012 sp4
    */
    DECLARE @n INT= 10000;
    --计算自然数的最大值
    DECLARE @d INT= 2;
     --除数,检验@n能够被2-ceiling(power(@i,0.5))之间的数整除
    DECLARE @bit BIT;
     --整除标识,如果能够被@d整除则=0,如果不能够被@d整除则=1
    DECLARE @i INT= 1;
     --1-@n之间的自然数
    WHILE @i <= @n
        BEGIN
            SET @d = 2;--@i每次变更需要@d重新从2开始
            SET @bit = 1;--@i每次变更需要@bit重新从1开始
            WHILE @d <= CEILING(POWER(@i * 1.0, 0.5))
                AND @bit = 1
                BEGIN
                    SET @bit = CASE WHEN @i IN ( 1, 2 ) THEN 1
                                    WHEN @i % @d <>0 THEN 1
                                    ELSE 0
                               END;
                    SET @d += 1;
                END; 
            IF @bit = 1
                PRINT @i;
            IF @i <= 2
                SET @i += 1;--2以内步进值为1
            ELSE
                SET @i += 2;--3以上步进值为2,除了2之外所有的偶数都不是质数
        END;
    

      

  • 相关阅读:
    AutoFac学习笔记
    AutoMapper学习笔记
    ROSLYN 查看C#方法执行次数
    log4net 动态创建文件名
    WPF可切换按钮,iOS风格
    咕咕咕
    贪吃的小J
    UK Day15
    UK Day15
    UK Day15
  • 原文地址:https://www.cnblogs.com/bgbird/p/9869488.html
Copyright © 2020-2023  润新知