Oracle-判断一个数是不是质数

判断质数的方法,从2开始,凡是除了自身和1之外,都不能被整除的,就是质数。

CREATEOR REPLACE

  FUNCTION isPrime(

      num IN NUMBER)

    RETURN BOOLEAN

  IS

  BEGIN

    IF(num<=1) THEN

      RETURN FALSE;

    END IF;

    FOR i IN 2..(num-1)

    LOOP

      IF(mod(num,i)=0) THEN

        RETURN FALSE;

      END IF;

    END LOOP;

    RETURN TRUE;

  END;



//调用这个函数

declare

aboolean;

begin

a :=isPrime(27);

if a then

  dbms_output.put_line('质数');

else

  dbms_output.put_line('非质数');

end if;

end;

返回结果:false

解释:不能直接selectisPrime(27) from dual

oracle 没有 boolean 的数据类型,但是 plqsl 里是有的,所以 ls 的有问题,而在 function 写的没有问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值