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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值