国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

在SQL SERVER 2005中實(shí)現(xiàn)素?cái)?shù)計(jì)算

2024-08-31 00:50:11
字體:
供稿:網(wǎng)友

  我將提出一個挑戰(zhàn),誰能用sqlseerver提出計(jì)算素?cái)?shù)最好的方法,我用了一個新的特點(diǎn)cte和某些tsql實(shí)現(xiàn),但均不理想,前者(cte)有限制,而后者(tsql)產(chǎn)生一百萬個素?cái)?shù)用了7分種你可以干的更好么?這兒是我的一些代碼段落

  (tsql實(shí)現(xiàn))

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實(shí)現(xiàn))

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)
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 尚志市| 日喀则市| 嘉祥县| 泾阳县| 响水县| 深水埗区| 佛坪县| 兴隆县| 伊春市| 松滋市| 定州市| 扎鲁特旗| 凌海市| 东平县| 汾西县| 兰考县| 扎赉特旗| 青海省| 大宁县| 临颍县| 松原市| 上栗县| 察隅县| 民和| 博罗县| 沈阳市| 大悟县| 察雅县| 保亭| 繁峙县| 金溪县| 远安县| 夏邑县| 涞水县| 房产| 师宗县| 临沭县| 商城县| 辽阳县| 蒙阴县| 津市市|