用SQL SERVER 2000编写2-500之间所有素数之和

来源:百度知道 编辑:UC知道 时间:2024/06/11 07:03:28
希望那位高手快点解答啊,谢谢了

declare @sum int--定义变量
declare @i int
declare @j int
declare @k int--定义一个开关
select @sum=2,@i=3
while @i<500--因为500不是质数所以判断到小于500就OK了
begin
select @j=2,@k=0--为什么任何数除以1还是其本身所以从2开始
while @j<=@i/2--判断是不是质数
begin
if @i%@j=0
begin
select @k=1
break
end
select @j=@j+1
end
if @k=0
begin
select @sum=@sum+@i
end
select @i=@i+1
end
print @sum--输出总和

如果还是不明白给我留言

declare @a int,@b int,@i int,@sum int
--从2开始
set @i=2
set @sum=0
--到500
while @i<=500
begin
set @a=2 --2开始
set @b=0 --@b是一个标识
while @a<=@i/2
begin
if @i % @a=0
begin
set @b=1
break
end
set @a=@a+1
end
if @b=0 set @sum=@sum+@i --@b为0说明之前没有哪比@i小的数字可以把@i整除
set @i=@i+1
end
--最后输出2-500之间所有素数的和
print @sum

知道把制表符都给去掉了,看着有点不太清晰,不过结果是没问题的。

weilibo - 秀才 二级
你真够乐色的,别人的东西你替换几个