Oracle(procedure 2-100的质数)

set serveroutput on;–使dbms_output.put_line(v_i)打印函数open
–输出2-100的质数(除了能被1和本身整除的数)
DECLARE
–声明变量
v_i number(3):=2;
v_j number(3):=2;
v_flag number(1):=1;
–开始执行 sqrt()开平方根 / mod(x,y) x除y的余数
begin
while v_i <= 100 loop–外层循环控制v_j初始化状态,v_i++,v_flag初始化状态
while v_j<=sqrt(v_i) loop–内层循环if判断是否为质数,控制被除数v_j++,不为质数使v_flag状态=0,打印出v_flag状态=1的数
if mod(v_i,v_j)=0 then v_flag:=0;
end if;
v_j:=v_j+1;
end loop;

if v_flag=1 then dbms_output.put_line(v_i);
end if;

v_j:=2;
v_i:=v_i+1;
v_flag:=1;
end loop;
end;

–②使用for循环
set serveroutput on;
declare
v_fla number(1):=1;
begin
for v_x in 2…100 loop–注意2个点
for v_y in 2 … sqrt(v_x) loop
if mod(v_x,v_y)=0 then v_fla:=0;
goto label;–跳转
end if;
end loop;

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值