SQL计算100以内的质数(可以把100换成任意的整数)

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是不是质数
   end             -- 最外层while循环结束
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值