【Oracle】PL/SQL實現列印1-100中的素數
阿新 • • 發佈:2019-01-31
--方法一
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