zoukankan      html  css  js  c++  java
  • 用SQL求1到N的质数和

    今天在百度知道中,遇到了一位朋友求助:利用sql求1到1000的质数和。再说今天周五下午比较悠闲,我就在MSSQL 2008中写了出来,现在分享在博客中,下面直接贴代码:

    declare @num int --数值以内的质数和
    declare @sum int  --质数和
    set @num = 1000 --100以内的指数和
    set @sum =0  --质数总和
    if @num % 2 =0 --如果是偶数转为奇数进行运算  与下面的减2相对称
    begin
     set @num = @num -1   --如果是偶数就变为奇数
    end
    while @num >= 3  --2比较特殊 2即是质数又是合数
     begin
      declare @i int --变量
      declare @sqltNum int --对循环的数值开根号得到的数
      declare @val int  --变量 替换@num
      set @i = 2   --设置变量值
      set @val = @num  --赋值
      set @sqltNum =SQRT(@num) --对传入的数字开根
       while @i<=@sqltNum
       begin
        if @num % @i = 0
         begin
          set @val=0  --如果可以整除 设置@val为0, 与后面 @sum = @sum+@val对应
          break
         end
        else
         begin
          set @i+=1  --如果整除不了 那就让@i=@i+1,直到 @i>@sqltNum,都没有找出@num % @i = 0的数,那就是质数
          continue
         end
       end
      set @sum = @sum+@val
      set @num = @num -2 --质数都是奇数
     end
     select (@sum+2)  --2比较特殊 2即是质数又是合数,+2是因为是从3开始计算的

    如果谁有更好的方法也麻烦分享下哈,大家相互学习。

  • 相关阅读:
    scgi_params
    ngin 模块及模板
    nginx常用模块
    HTML
    nginx部署网页小游戏
    nginx的server标签还有日志管理
    关于使用yum安装的nginx的主从配置文件的碎碎念
    判断所ping主机的操作系统
    CentOS 7修改主机名
    CentOS7 设置系统时间
  • 原文地址:https://www.cnblogs.com/chinese-sam/p/3494469.html
Copyright © 2011-2022 走看看