素数函数?一个求素数的算法

:暂无数据 2026-07-20 10:20:02 :0

素数函数?一个求素数的算法

今天给各位分享素数函数的知识,其中也会对素数函数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录

素数函数

你的问题本身就是有问题的。
因为测试一个数字是否是素数,本身就是一个很简单但也很费时的事情。
最简单的正确函数就是:
bool test( 数字 n ){
从2开始到n-1, 对n进行试除;
若某个数字能除净,return false ;
else return true ;
}
这个算法虽然简单,但是有一个致命的弱点。
A:效率低,如果给一个大数字,你自己去算算吧,看你算到猴年马月……
B:计算机上可能无法实现——如果遇到这种情况:数字长度大于了计算机能存储的最大数字。
不过,这个素数算法绝对正确!

然后跟你说些实际的:
1:如果单单考虑不是很变态的素数本身的话,那么早就解决了,而且是目前的一个很好的素数筛选法——厄拉多塞定理就可以。
简而言之,就是从2开始,排除所有2的倍数;然后排除3的倍数;……;以此类推;就这样,当你进行到排除X的倍数的时候,X之前的所有素数你都知道了。
相关的厄拉多塞定理,楼主可以上网去搜,或者《数论》书里有。

2:实际上,计算素数,不可能考虑素数无限大,至少你作为一个个人,即使使用着性能超好的微机,也最多只能考虑有限长度的素数。
现在的计算机是32位,可以计算2^32以内的素数,也就是42亿以内的素数。然后如果拓展了,就可以使用64位,可以计算2^64以内的素数(42亿乘以42亿~自己算范围是多大吧)。由于现在操作系统位数的限制,目前的水准也就是这么多的了。当然啦,如果要确定2^64以内的任意一个数字是不是素数,可就不是这么的用厄拉多塞了,而是用到拉宾-米勒算法和Pollard启发式算法了。具体的参见算法书和某些数论书。

3:大于2^64位的素数,计算机不是不能算。但是时间复杂度要比64位以内的数字要高不是一丁点。这个如果你学了编程就知道了——64位以上的需要数组,而不是单单一个什么整型就能搞定了。
要更长度的,得需要专业领域的人们来解答。

所以,综合而言,
1:类似于你这样很笼统的问素数函数,那么古人就已经很笼统的正确回答了。参考我上面的test()函数以及厄拉多塞定理。
2:真正需要解决的是如何高效地测试某个数字是否是素数,特别是很长的数字。
3:经验教训,就是,数学方面的每个问题都是一个既简单又复杂的问题。门外汉,包括你我,最多也只能研究到和我差不多的这个程度了,很简单吧~但是,那还是一个数学顶尖领域,不过就不是我们普通人能研究能想象的……我现在和你讨论的最长长度是64位二进制,专家们研究的是几千几万长度的二进制和其他优化算法,诸如AKS素数测定算法等……那个算法我是看不懂,很科幻级别。而且,你稍微有一丁点小突破,就可以发包论文并且在这方面树立权威了,就这种程度。
4: 不存在你所谓的“如果没有人知道”,只是有些人不想回答;有些人,像我这样的菜鸟,看着这样的话不大舒服,就来献丑丢脸面。其实,网络虽然是一个虚拟大平台,但也需要大家用心维护,体现出自己的真性情。这么个说法没必要(虽然感觉也蛮正常的)~

一个求素数的算法

t从0到cap^2-1
i从0到cap-1
j从0到i
实际上这里cap起的作用仅仅为了使i和j满足:i从0到cap-1,j从0到i
实际上composite为j从2到i-1时整除i的个数
当j=0时,使composite重置为0
当j=i时,开始判断
每次j能整除i,composite则增加1,到时就不会输出i
当2到i-1的j都不整除i,此时i为素数,composite为0,可以将其输出

希望你能看明白
不懂的话
还可以问的
一般晚上十点我都有空

判断一个数是否为素数的算法

找质数的方法:写出这个数的因数。再判断这个数是质数还是合数。
1、一个数除了1和本身,不再有别的约数,这样的数叫做质数或者素数。例如:2,3,5,7,11,13,17,19,23,29等等。
2、一个数,除了1和本身,还的别的因数,这样的数叫做合数。例如4、8、8、9等等。例如:2的所有因数是1和2两个,所以2是质数。例如6的所有因数是:1,2,3,6。一共是4个,所以6是合数。
找因12的因数:
1×12=12
2×6=12
3×4=12
所以12的因数有:1,2,3,4,6,12。共6个。
找因数的方法可以把这个数分成两个因数相乘的积。从一开始比较容易找,写的时候最好能从小到大写出来。重复的只能写一个。例如9的因数:1×9=9
3×3=9
9的因数是:1,3,9共3个。(重复的3只能写一个。)

求素数算法的数学证明

因为对一个数n,如果他能分解成n=pq,那么pq里必然有一个大于等于根号n一个小于等于根号n,也就是说一个合数必然有一个因子是小于等于根号n的。
所以对一个数n,只要检验他有没有小于等于根号n的因子就可以了

c语言素数的算法

思路如下:
1、求2-n之间的所有素数
2、创建一个数组a[n+2],其下表为2...n+1
3、数组的功能是记录那些数十素数,其下标表示素数,元素初始化时全为1,表示全部数假设都是素数
4、从2开始往后访问数组的每一个元素,如果这个数十素数就输出,否则往后遍历
5、遍历的同时如果这个数i是素数,则进一步往后将这个数的倍数2*i,3*i,....将这些数都标记为0表示不是素数
6、执行完毕将输出所有素数了

关于本次素数算法和素数函数的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

素数函数?一个求素数的算法

本文编辑:admin

更多文章:


协方差计算公式(协方差的计算公式)

协方差计算公式(协方差的计算公式)

这篇文章给大家聊聊关于协方差计算公式,以及协方差的计算公式对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 08:10

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

本篇文章给大家谈谈易语言网页api接口怎么调用,以及易语言,怎么读取网页json的api对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月11日 08:00

majority of(the majority of 和 a majority of的区别以及用法例句)

majority of(the majority of 和 a majority of的区别以及用法例句)

这篇文章给大家聊聊关于majority of,以及the majority of 和 a majority of的区别以及用法例句对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 07:40

汉字机内码查询表(1个汉字的机内码是几位谢谢)

汉字机内码查询表(1个汉字的机内码是几位谢谢)

大家好,关于汉字机内码查询表很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于1个汉字的机内码是几位谢谢的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月11日 07:20

promote翻译(英语翻译倡导怎么说)

promote翻译(英语翻译倡导怎么说)

其实promote翻译的问题并不复杂,但是又很多的朋友都不太了解英语翻译倡导怎么说,因此呢,今天小编就来为大家分享promote翻译的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 06:30

用手机如何导航?开车用手机导航哪个软件最好

用手机如何导航?开车用手机导航哪个软件最好

今天给各位分享用手机如何导航的知识,其中也会对用手机如何导航进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 06:20

多线程技术有什么用(多线程有什么作用)

多线程技术有什么用(多线程有什么作用)

其实多线程技术有什么用的问题并不复杂,但是又很多的朋友都不太了解多线程有什么作用,因此呢,今天小编就来为大家分享多线程技术有什么用的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 05:40

another time(another time和other time的区别)

another time(another time和other time的区别)

大家好,another time相信很多的网友都不是很明白,包括another time和other time的区别也是一样,不过没有关系,接下来就来为大家分享关于another time和another time和other time的区

2026年10月11日 05:00

java开发工具包jdk(JDK是什么意思)

java开发工具包jdk(JDK是什么意思)

其实java开发工具包jdk的问题并不复杂,但是又很多的朋友都不太了解JDK是什么意思,因此呢,今天小编就来为大家分享java开发工具包jdk的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 04:50

mysql 命令(MySQL的基本命令)

mysql 命令(MySQL的基本命令)

大家好,如果您还对mysql 命令不太了解,没有关系,今天就由本站为大家分享mysql 命令的知识,包括MySQL的基本命令的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 03:00

最近更新

majority of(the majority of 和 a majority of的区别以及用法例句)
2026-10-11 07:40:02 浏览:0
热门文章

标签列表