网站首页 > 文章中心 > 其它

oracle如何判断素数

作者:小编 更新时间:2023-08-26 07:28:59 浏览量:218人看过

用 oracle中PL/SQL算法 求100内的素数

本过程输入参数inp,计算1到inp之间的素数

算法:

set serverout on

create or replace procedure is_prime(inp number)

as

i number;

j number;

is_prim boolean;

begin

dbms_output.new_line;

is_prim:=true;

if mod(i,j)=0 then

is_prim:=false;

exit;

end;

end if;

end loop;

if is_prim then dbms_output.put(to_char(i)||' '); end if;

/

exec is_prime(100)

oracle怎么求1..1000之间的素数

Oracle是数据库,存储数据用的,应用逻辑最好放在数据库外面,虽然可以实现,但是并不提倡.

DECLARE

v_i?NUMBER;

v_j?NUMBER;

v_cnt?NUMBER;

TYPE?type_array?IS?TABLE?OF?NUMBER;

primes?type_array;

flag?NUMBER;

BEGIN

primes?:=?type_array();

primes.extend;

LOOP

EXIT?WHEN?v_i?1000;

flag?:=?1;

v_j?:=?1;

EXIT?WHEN?primes(v_j)?*?primes(v_j)?v_i;

IF?MOD(v_i,?primes(v_j))?=?0?THEN

flag?:=?0;

EXIT;

END?IF;

v_j?:=?v_j?+?1;

END?LOOP;

IF?flag?=?1?THEN

v_cnt?:=?v_cnt?+?1;

primes(v_cnt)?:=?v_i;

dbms_output.put_line(v_i);

END;

【oracle】定义一个Oracle存储过程,输出1~100之间的素数.

declare

v_num number;

v_now number;

v_yes number;

c_max number;

v_num:=1;

loop

v_yes:=1;--设置初始参考数,1为素数,0为非素数,默认初始为1

-- v_num:=v_num+1;--自增1

--这里开始判断,只能被1和本身整除的数,就是素数

if mod(v_num,v_now)=0 and v_numv_now then --如果有能被整除的数,且被除数不是除数本身,就不是素数

v_yes:=0;

v_now:=v_now+1;--被除数递增

exit when v_now=v_num;--当被除数大于除数时退出

end loop;--因为要一个一个的判断,所以要来一次循环

dbms_output.put_line(v_num);

-- v_num:=v_num+1;--自增

v_num:=v_num+1;--自增

exit when v_num=c_max;

参考一下,自己写的

oracle for循环求1到100之间的素数

v_result number; /*是否为素数,1为素数,0为非素数*/

for i in 1 .. 100 loop

v_result := 1;

if mod(i, j) = 0 and i j then

v_result := 0;

j := j + 1;

exit when j = i;

if v_result = 1 then

dbms_output.put_line(i);

素数的判断方法

素数的判断方法如下:

以上就是土嘎嘎小编为大家整理的oracle如何判断素数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章