【Oracle】PL/SQL实现打印1-100中的素数

--方法一

declare

    i number(4);--存储1-100中所有的数(用作被除数)
    j number(4) := 1;--存储除数
    z number(4) := 0--存储被整除的次数;
begin
    for i in 1..100 loop
        while j <= i loop
            if mod(i,j) = 0 then 
                z := z + 1;
            end if;
            j := j + 1;
        end loop; 
        j := 0;
        if z = 2 then 
            dbms_output.put_line(i);         
        end if;  
        z := 0; 
    end loop;
end;

/


--方法二

declare
 v_number number(3);
 v_temp number(3):=1;
begin 
 for v_number in 1..100 loop                   
     v_temp:=1;
     while v_temp<v_number loop                
            v_temp:= v_temp+1;
            if v_temp=v_number then
               dbms_output.put_line(v_number);
            end if;
            if mod(v_number,v_temp)=0 then --如果出现被除本身和1以外的数整除则退出循环并打印
               exit;
            end if; 
     end loop;
 end loop;
end

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值