问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

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

发布网友 发布时间:2022-04-07 21:28

我来回答

3个回答

热心网友 时间:2022-04-07 22:57

declare
v_num number;
v_now number;
v_yes number;
c_max number;
begin
v_num:=1;
c_max:=200;--这里设置最大数,想要100这内就写100,想要1000之内就写1000
loop
v_now:=2;--这里设置每一个数的初始被除数,从2开始
v_yes:=1;--设置初始参考数,1为素数,0为非素数,默认初始为1
if v_num<4 then
dbms_output.put_line(v_num);--1到3都是素数,这里就不再判断了
-- v_num:=v_num+1;--自增1
end if;
if v_num>=4 then
--这里开始判断,只能被1和本身整除的数,就是素数
loop
if mod(v_num,v_now)=0 and v_num<>v_now then --如果有能被整除的数,且被除数不是除数本身,就不是素数
v_yes:=0;
end if;
v_now:=v_now+1;--被除数递增
exit when v_now>=v_num;--当被除数大于除数时退出
end loop;--因为要一个一个的判断,所以要来一次循环
end if;
if v_num>4 and v_yes=1 then
dbms_output.put_line(v_num);
-- v_num:=v_num+1;--自增
end if;
v_num:=v_num+1;--自增
exit when v_num>=c_max;
end loop;
end;
参考一下,自己写的

热心网友 时间:2022-04-08 00:15

收藏别人的,实测正确:
PLSQL计算质数:http://yangtingkun.itpub.net/post/468/53770

DECLARE
TYPE T_RECORD IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
V_RESULT T_RECORD;
I NUMBER DEFAULT 3;
N NUMBER DEFAULT 0;
BEGIN
DBMS_OUTPUT.PUT_LINE(2);
V_RESULT(1) := 3;
WHILE (I < 101) LOOP
FOR J IN 1 .. V_RESULT.COUNT LOOP
IF V_RESULT(J) * V_RESULT(J) > I THEN
DBMS_OUTPUT.PUT_LINE(I);
V_RESULT(V_RESULT.COUNT + 1) := I;
EXIT;
END IF;
IF TRUNC(I / V_RESULT(J)) = I / V_RESULT(J) THEN
EXIT;
END IF;
END LOOP;
IF N = 2 THEN
I := I + 4;
N := 1;
ELSE
I := I + 2;
N := N + 1;
END IF;
END LOOP;
V_RESULT(0) := 2;
END;

热心网友 时间:2022-04-08 01:50

CREATE OR 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;
  /
  以前写得函数,过程循环调用一下就行

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

begin v_num:=1;c_max:=200;--这里设置最大数,想要100这内就写100,想要1000之内就写1000 loop v_now:=2;--这里设置每一个数的初始被除数,从2开始 v_yes:=1;--设置初始参考数,1为素数,0为非素数,默认初始为1 if v_num&lt;4 then dbms_output.put_line(v_num);--1到3都是素数...

...判断一个数是不是素数的存储过程。如果是,输出,否则输

sql判断是否是素数的存储过程,你在网上搜索一下,很多这样的代码,好多的写的比较完美,你可以先测试一下,如果有不懂的可以追问

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

begin v_num:=1;c_max:=200;--这里设置最大数,想要100这内就写100,想要1000之内就写1000 loop v_now:=2;--这里设置每一个数的初始被除数,从2开始 v_yes:=1;--设置初始参考数,1为素数,0为非素数,默认初始为1 if v_num&lt;4 then dbms_output.put_line(v_num);--1到3都是素数...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
自动回复软件(自动回复软件下载) 庐山的原名叫什么 庐山的命名由来和文化传说有哪些? 怎样轻松运营本地资讯网站 微信发图片怎么突然模糊了 怎么将excel表格中的数字去掉怎么将excel表格中的数字去掉一个_百度... ...由于没有工作经验,求职会计和出纳都是石沉大海,怎么办? 我想找一种测试工具。工作范围:软件测试,产品功能测试,电子相关器件... 有一个小米手机推荐游戏,我想不起来名字是英文的 音乐超级带感 好像... 怎么样吃石榴最爽? 兆威机电中一签能赚多少 ...大家帮我想想啊 可以给学生颁发哪些奖项呢 初中五好学生奖状是什么意思? 关于中学生奖项的设置有哪些类别与项目? 初中生个人奖是什么意思 荣耀v10和viox20还有华为nova2s,还有一加五t哪个最好 现在2018年8月底,现在的价格,荣耀V10,荣耀play,华为nova3i,哪个值得买? 华为好还是荣耀好 2017年夏天,76人为郭艾伦制定了一份球探报告,谁见过? 有人至死不渝怀念2017年的夏天 因为那个夏天只有买辣椒也用券(cr.)是什么意思? 2017年的那个夏天,作文开头 2017今年高温持续多久 vx视频号怎么不让陌生人看到- 问一问 微信不是实名制可以查询健康宝吗 微信怎样设置的让别人看不到 手机一直开机震动,显示oppo画面之后又黑屏反复重启怎么办? 赵丽颖1987年10.16日,出生于河北省廊坊市,中国内地影视女演员? 红楼梦87带字幕迅雷全集下载 哪里有电影《海市蜃楼》高清下载?1987年的 台湾电影 &lt;河豚 &gt; 迅雷bt种子 要无删节版的 不是87分钟那个 看完给分 发到 xinkun2010@126.com 组装笔记本电脑和品牌电脑有什么区别? 品牌电脑和组装电脑的区别 请问:品牌电脑和组装电脑有什么优缺点? 说说品牌机和组装机和笔记本的区别, 购买笔记本电脑是品牌的好还是组装的好? 买品牌电脑好还是自己组装好? 小米11玩宝可梦大探险为什么发热严重? 小米十一发热严重 小米11玩游戏发热 小米11玩王者荣耀发热解决 网上说小米11打游戏发热耗电快,这个问题官方会解决吗? 我有一台09年组装的电脑。x240CPU N68主板,金士顿1333 2G内存,我想增加内存条。 如何提高联想X240运行内存 中国移动太坑了,办的卡现在不想用这个号码了,要把它注销了,客服说参加的营销活动没结束不能销卡? 中国移动全球通电话卡如何注销? 迅雷不实名认证不能下载吗 什么软件不用实名认证就能下载绝地求生未来战役 开心消消乐不需要实名认证在哪里下载 4399游戏盒当中的现代战舰,如何不用实名认证和身份证下载 202在哪里下载崽崽不用实名认证
  • 焦点

最新推荐

猜你喜欢

热门推荐