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

来源:互联网 发布:天津app软件开发 编辑:程序博客网 时间:2024/06/09 23:21

判断质数的方法,从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写的没有问题
原创粉丝点击