PL/SQL编程(全网最详解之用while和for遍历1 | 您所在的位置:网站首页 › 200到300的素数有哪些 › PL/SQL编程(全网最详解之用while和for遍历1 |
用while循环遍历100以内所有素数
思路
由质数的定义,1和该数本身必不是质数。 故从 i = 2 开始依次 i++ 到100遍历, 再设 初值 j = 2作为除数,我们将从2开始,j++到当前数本身,对当前数作取余运算。 即 i % j ,若取余为0,直接将 j 值重置为0,退出循环,当前数 i++;若取余不为0,则将 除数j++ ,再用当前数 i % j 判断取余是否为 0 ,重复以上步骤,直至当前除数 j++ 后>(当前数i-1)时退出循环,此时只需判断 j 不为0,当前数才为质数。 PL/SQL语句 declare i number :=2; -- 初值 j number; -- 除数 begin while( i i - 1; -- 退出条件为除数>当前数-1,表示除数已遍历到当前数 end loop; if j 0 then -- 如果除数未被置0则当前数必为质数 dbms_output.put_line(':' || i); end if; i := i + 1; -- 当前数++ end loop; end; 用for循环遍历100以内所有素数 思路同上,新增语法结构 for 假名 in 下限..上限 loop -- context end loop; PL/SQL语句 declare i number :=2; -- 初值 j number; -- 除数 begin for res1 in 2..100 loop j := 2; loop if mod(i , j) = 0 then j := 0; exit; end if; j := j+1; exit when j > i-1; end loop; if j 0 then Dbms_Output.Put_Line(i); end if; i := i+1; end loop; end;
|
CopyRight 2018-2019 实验室设备网 版权所有 |