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开始计算的

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

  • 相关阅读:
    chrome如何分析页面加载时间
    Mysql、sqlserver、oracle指定返回记录数
    与oracle 有关的那点事
    websocket 初步认识
    致那些说“你们测试想XXX就XXX”的开发
    除了RPS和错误率,性能测试还需要关注这些指标
    Zookeeper简介
    Servlet 简介
    Linux常见压缩、解压缩
    k8s CNI插件简单了解
  • 原文地址:https://www.cnblogs.com/chinese-sam/p/3494469.html
Copyright © 2011-2022 走看看