精易论坛

标题: [suifeng源码] 最简洁求质数源码 [打印本页]

作者: 已注销370852    时间: 2017-5-6 18:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: 老表    时间: 2017-5-6 19:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: 镇坛道德标杆    时间: 2017-5-6 19:53
本帖最后由 junkboy 于 2017-5-6 19:54 编辑

     论坛抽风发重复了
作者: 镇坛道德标杆    时间: 2017-5-6 19:53
算法代码量小不代表好    这个应该比你的快很多倍   尤其是数很大的时候   代码翻译自c++


  
子程序名返回值类型公开备 注
是否为质数逻辑型 
参数名类 型参考可空数组备 注
num整数型
变量名类 型静态数组备 注
i整数型 
' 不是质数
如果真 (num < 2)
返回 ()

' 两个较小数另外处理
如果真 (num = 2 num = 3)
返回 ()

' 不在6的倍数两侧的一定不是质数
如果真 (num % 6 ≠ 1 num % 6 ≠ 5)
返回 ()

' 在6的倍数两侧的也可能不是质数
变量循环首 (5, 求平方根 (num), 6, i)
如果真 (num % i = 0 num ��� (i + 2) = 0)
返回 ()

变量循环尾 ()
' 排除所有,剩余的是质数
返回 ()



作者: 镇坛道德标杆    时间: 2017-5-6 19:54
算法代码量小不代表好    这个应该比你的快很多倍   尤其是数很大的时候   代码翻译自c++



作者: 已注销370852    时间: 2017-5-6 19:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: 猥琐小胖子    时间: 2017-5-6 20:13
junkboy 发表于 2017-5-6 19:54
算法代码量小不代表好    这个应该比你的快很多倍   尤其是数很大的时候   代码翻译自c++

质数经常用来一些面试题,但最优还是用打表法合适。特别是在大数上。
作者: llxx00xxll    时间: 2017-5-6 23:44
{:soso__4607844064215092132_3:}学习到了
作者: 已注销370852    时间: 2017-5-7 16:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: 猥琐小胖子    时间: 2017-5-7 16:58
如枫随风TYZ 发表于 2017-5-7 16:39
我觉得面试应该几乎不会问你那种快捷的算法的,除了项目中那个算法很重要,不然去记它干什么呢?

打表法就是用在项目中啊。
就好比你写个软件,或者网页,给人判断是否质数的。
用你这样跑,给你个1000w你看看多久。
这种和算24点一样,输入4个数字,并不是临时才算,而是4个数字已经提前算出来了再去匹配出。
作者: 娱乐哟    时间: 2017-5-13 10:28
非常不错值得鼓励
作者: 努学易    时间: 2017-6-3 14:04
  
子程序名返回值类型公开备 注
是否为质数逻辑型 
参数名类 型参考可空数组备 注
cs_参数整数型
变量名类 型静态数组备 注
jb_计次整数型 
变量循环首 (2, cs_参数 - 1, 1, jb_计次)
如果真 (cs_参数 % jb_计次 = 0)
返回 (jb_计次 = cs_参数)

变量循环尾 ()

我觉得这样是不是更简洁了


作者: 努学易    时间: 2017-6-3 14:06
  
子程序名返回值类型公开备 注
是否为质数逻辑型 
参数名类 型参考可空数组备 注
cs_参数整数型
变量名类 型静态数组备 注
jb_计次整数型 
变量循环首 (2, cs_参数 - 1, 1, jb_计次)
如果真 (cs_参数 % jb_计次 = 0)
返回 (jb_计次 = cs_参数)

变量循环尾 ()

我觉得这样是不是更简洁了


作者: 已注销370852    时间: 2017-6-3 14:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: 努学易    时间: 2017-6-3 14:25
如枫随风TYZ 发表于 2017-6-3 14:19
这样会检测提示函数没有返回的

好吧 我想多了




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4