1. 程式人生 > >oracle中用while迴圈查詢1到100的質數(素數)

oracle中用while迴圈查詢1到100的質數(素數)

declare
i number:=1;  --表示當前數字
j number:=0;  --從2開始,儲存判斷的數字
sum1 number:=0;--總數
begin
while(i<100)
loop
i:=i+1;
j:=2;
while(mod(i,j)!=0)--當取餘j=0的時候,即已經找到整除的數字(包括自身)
loop
j:=j+1;--當取餘j不等於0的時候,說明還沒有找到整除,+1繼續迴圈
end loop;

if(i=j)  --當i=j時,表示沒有中途退出迴圈,即除了1跟本身之外沒有恰好整除的

then
sum1:=sum1+i;
DBMS_OUTPUT.PUT_LINE(i);--輸出當前質數
end if;
end loop;
DBMS_OUTPUT.PUT_LINE(SUM1);
end
;