oracle实现2⼀500之间素数的和

oracle实现2/500之间素数的和
2025-05-14 17:57:03
推荐回答(1个)
回答1:

create or replace procedure is_prime(inp number) as
i number;
j number;
primesum number;
is_prim boolean;
begin
primesum := 0;
dbms_output.new_line;
dbms_output.put(to_char(2) || ' ');
for i in 3 .. inp loop
begin
is_prim := true;
for j in 2 .. trunc(sqrt(i)) loop
if mod(i, j) = 0 then
begin
is_prim := false;
exit;
end;
end if;
end loop;
if is_prim then
begin
primesum := primesum + i;
dbms_output.put(to_char(i) || ' ');
end;
dbms_output.put(to_char(i) || ' ');
end if;
end;
end loop;
dbms_output.put(to_char(primesum) || ' ');
dbms_output.new_line;
end;