--实现查找1-100之间的素数 declare v_no number := 0; --标记是第几个素数 v_number number; --表示1-100之间的数 v_num number; begin for v_number in 1 .. 100 loop --如果整除,那就不是素数,除数+1,; --如果不能整除,那么被除数就+1,继续执行除运算 v_num := ceil(v_number / 2); for i in 2 .. v_num loop if mod(v_number, i) = 0 then exit; elsif i > v_num - 1 then v_no := v_no + 1; dbms_output.put_line('第' || v_no || '个素数是:' || v_number); end if; end loop; end loop; end; /*求1到100之间的素数*/ declare v_m number := 2; --初始值 v_i number; v_n number := 0; begin while v_m < 100 loop v_i := 2; --除数 loop if mod(v_m, v_i) = 0 then v_i := 0; exit; --表示退出循环 end if; v_i := v_i + 1; exit when v_i > v_m - 1; end loop; if v_i > 0 then v_n := v_n + 1; dbms_output.put_line('第' || v_n || '个素数是:' || v_m); end if; v_m := v_m + 1; end loop; end;
1不是素数!!!一开始我以为是素数。。。