在SQLSERVER2005中实现素数计算
来源:互联网 发布:wamp域名配置 编辑:程序博客网 时间:2024/04/27 22:17
我将提出一个挑战,谁能用SQLSEERVER提出计算素数最好的方法,
我用了一个新的特点CTE和某些TSQL实现,但均不理想,前者(CTE)有限制,而后者(TSQL)产生一百万个素数用了7分种
你可以干的更好么?
这儿是我的一些代码段落
(TSQL实现)
set nocount on
declare @prime table (prime int not null primary key)
--insert into @prime values (2)
--insert into @prime values (3)
--insert into @prime values (5)
--insert into @prime values (7)
--insert into @prime values (11)
declare @number int, @pc int
set @number = 13
set @pc = 1
while @pc < 1000000
begin
if not exists (select 1 from @prime where @number % prime = 0 and prime < sqrt(@number) )
begin
insert into @prime select @number
set @pc = @pc +1
end
set @number = @number
+ case when @number %2 = 1 then 2
when @number %3 = 2 then 2
when @number %5 = 4 then 2
when @number %7 = 6 then 2
when @number %11 = 10 then 2
else 1 end
end
select @pc
和
(CTE实现)
with seq
as( select 13 number
union all
select s.number
+ case when s.number %2 = 1 then 2
when s.number %3 = 2 then 2
when s.number %5 = 4 then 2
when s.number %7 = 6 then 2
when s.number %11 = 10 then 2
else 1 end
from seq s
where number < 32767
)
, prime as (
select s.number
from seq s
where not exists ( select 1 from seq s2 where s2.number < s.number and (s.number) % s2.number = 0)
)
select *
from prime
option (MAXRECURSION 32767)
- 在SQLSERVER2005中实现素数计算
- 在SQLSERVER2005中实现素数计算
- Python中filter实现计算素数
- 在C#中实现存储图片到SQLServer2005
- 在SQLServer2005中实现表的行列转换
- 在SQLServer2005中实现表的行列转换
- 在SQLserver2005中调用webservice
- 如何在sqlServer2005中添加Northwind数据库
- 如何在SQLSERVER2005中查询数据行号
- 在sqlserver2005中导入excel文件
- 在SqlServer2005中使用正则表达式
- SQLServer2005中实现分页查询数据
- c#中实现存储图片到SQLServer2005
- 如何在Hive中实现递归计算
- java与接口实现素数个数计算
- 在windows7中安装sqlserver2005中碰到的问题
- 在SQLServer2005中用存储过程实现搜索功能
- 在SQLServer2005中,新建一个用户,并分配一个角色
- Web 窗体页的数据绑定表达式
- 向 Web 窗体页添加 Repeater 控件
- 三谈后台调用外部程序的完美实现
- Effective Java学习笔记(六)
- 经典25句话[转]
- 在SQLSERVER2005中实现素数计算
- COM组件和.net的互换
- 使用INI文件时注意的几点
- Asp.net常用的一些功能
- 李开复 给中国学生的第三封信:成功、自信、快乐
- 参数话的SQL语句
- 昨天遇上一个字符串问题,今天又遇上不能调试的问题
- Windows下NB的命令
- 在 ListView 中设置第一个可见的项目(原创)