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
;

猜你喜欢

转载自blog.csdn.net/mymbs/article/details/79827889