declare @i int --定义局部变量@i
declare @j int --定义局部变量@j
set @i=1 --给变量@i赋值
while @i<100 --最外层while循环控制计算20以内的质数,每循环一次提供一个数,判断它是不是质数
begin --最外层while循环开始
set @j=1 --给变量@j赋值,外层while每执行一次,它都被重新赋值为1
while @j<@i --内层while循环判断外层while循环提供的@i是不是质数
begin
if @i=2 --如果@i的值为2就直接打印,因为2是质数
begin
print cast(@i as char)
break --退出内层while循环
end
set @j=@j+1 --每次都从2开始除
if @i%@j=0
begin
break --退出内层while循环
end
else
if @j=@i-1 --如果不能被2到@i-1之间的数整除,就说明是质数 内层if...else控制从2到@i-1除一边
begin
print cast(@i as char) --打印质数
break --退出内层while循环
end
else
begin
continue --继续下一次内层while循环,每继续一次可以使@j的值增加1,从而使@j从2开始一直递增,一直递增到@i-1
end
end
set @i=@i+1 --最外层while循环的语句,每次都会被执行,目的是使@i递增1,从而进入下一次循环,从而判断@i是不是质数
declare @j int --定义局部变量@j
set @i=1 --给变量@i赋值
while @i<100 --最外层while循环控制计算20以内的质数,每循环一次提供一个数,判断它是不是质数
begin --最外层while循环开始
set @j=1 --给变量@j赋值,外层while每执行一次,它都被重新赋值为1
while @j<@i --内层while循环判断外层while循环提供的@i是不是质数
begin
if @i=2 --如果@i的值为2就直接打印,因为2是质数
begin
print cast(@i as char)
break --退出内层while循环
end
set @j=@j+1 --每次都从2开始除
if @i%@j=0
begin
break --退出内层while循环
end
else
if @j=@i-1 --如果不能被2到@i-1之间的数整除,就说明是质数 内层if...else控制从2到@i-1除一边
begin
print cast(@i as char) --打印质数
break --退出内层while循环
end
else
begin
continue --继续下一次内层while循环,每继续一次可以使@j的值增加1,从而使@j从2开始一直递增,一直递增到@i-1
end
end
set @i=@i+1 --最外层while循环的语句,每次都会被执行,目的是使@i递增1,从而进入下一次循环,从而判断@i是不是质数
end --最外层while循环结束
本文转自terryli51CTO博客,原文链接:http://blog.51cto.com/terryli/519571 ,如需转载请自行联系原作者