今天在百度知道中,遇到了一位朋友求助:利用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开始计算的

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

用SQL求1到N的质数和的更多相关文章

  1. 实验一:实现求正整数1-N之间所有质数的功能,并进行测试。

    实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 命令行下的程序开 ...

  2. 算法笔记(c++)--求一个数的所有质数因子

    算法笔记(c++)--求一个数的所有质数因子 先贴题目: 这题不难,恶心在理解上面.最后看评论知道了怎么回事: 2*2*3*3*5=180 按照这逻辑的话应该输入的数由一系列质数相乘出来,所以每次找到 ...

  3. projecteuler 10001st prime (求出第10001个质数)

    By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13. ...

  4. sql求日期

    2.求以下日期SQL: 昨天 select convert(varchar(10),getdate() - 1,120) 明天 select convert(varchar(10),getdate() ...

  5. [算法]浅谈求n范围以内的质数(素数)

    汗颜,数学符号表达今天才学会呀-_-# 下面是百度百科对质数的定义 质数(prime number)又称素数,有无限个. 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数. 求质数的方法 ...

  6. 求1到n的质数个数和O(n)

    也许更好的阅读体验 \(\mathcal{AIM}\) 我们知道: 对于一个合数\(x\) 有\(x=p^{a_1}_1*p^{a_2}_2*...*p^{a_n}_n\) 现在给出一个\(n\) 求 ...

  7. C#求任意范围内的质数

    class Program { public static List<int> list; static void Main(string[] args) { Console.WriteL ...

  8. SQL求 交集 并集 差集

    故事是这样的….. 故事情节: 表 tb_test 有两列, colA , colB; 求 colA , colB 的并交差集… -- 计算并集 SELECT DISTINCT colB FROM t ...

  9. SQL求差集

    数据库环境:SQL SERVER 2008R2 Sql Server有提供求集合差集的函数——EXCEPT.先看看EXCEPT的用法, { <query_specification> | ...

随机推荐

  1. Mysql update error: Error Code: 1175. You are using safe update mode and you tried to update a table

    Mysql update error: Error Code: 1175. You are using safe update mode and you tried to update a table ...

  2. Swift还是Objective-C

    Swift还是Objective-C   Swift还是Objective-C? Swift语言发布已经两年了,iOS开发需要学习C或者Objective-C.此外,人们似乎还在迷惑Swift到底适合 ...

  3. Python开发【第一篇】:目录

    本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! Python开发[第一篇]:目录 Python开发[第二篇]:初识Python ...

  4. VS2008试用版到期解决办法

    在Windows 7下,VS2008试用版无法正常升级到正式版.原因是维护页面的注册码输入框和升级按钮被隐藏.通过本补丁,可让注册码输入框和升级按钮恢复正常显示 点击此处下载补丁 1.安装完90天试用 ...

  5. Wpf 数据绑定简介、实例1

    简介:1.WPF绑定使用的源属性必须是依赖项属性,这是因为依赖项属性具有内置的更改通知支持,元素绑定表达式使用了Xaml扩展标记, WPF绑定一个控件是使用Binding.ElementName, 绑 ...

  6. c#求slope线性回归斜率

    public class mySlope { // public List<double> Values { get; set; } public double SlopeResult { ...

  7. hdu1690 Bus System(最短路 Dijkstra)

    Problem Description Because of the huge population of China, public transportation is very important ...

  8. 关闭C#主窗体弹出是否关闭对话框

    在开发系统时,常常有这样一个问题,就是当关闭主窗体,也即退出系统时,如果想提示是否关闭,以免误操作,可以在主窗体的Main_FormClosing事件中添加一个对话框,代码如下: private vo ...

  9. html5插入视频

  10. 10 款强大的JavaScript图表图形插件推荐

    转自:http://www.iteye.com/news/24535 网上有很多用于绘制图表图形的免费JavaScript插件和图表库,这类插件大量出现的原因,一是人们不再依赖于Flash,二是浏览器 ...