质数应该怎么算啊?我看幸运52时,有一题是求103的质数,答案是2和101,但我怎么也想不起质数的算法
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 08:36:08
质数应该怎么算啊?我看幸运52时,有一题是求103的质数,答案是2和101,但我怎么也想不起质数的算法
质数应该怎么算啊?我看幸运52时,有一题是求103的质数,答案是2和101,但我怎么也想不起质数的算法
质数应该怎么算啊?我看幸运52时,有一题是求103的质数,答案是2和101,但我怎么也想不起质数的算法
除了2之外,其他的质数都是单数
两个质数的和是个单数
所以必须有一个质数是双数
所以
另一个质数是103-2=101
这两数分别是2,101
就是2+101=103。并且2和101只能是1*本身,这就叫质数
1、给定任意数n
2、k=n
3、k=k-1
4、k是质数吗(判断质数过程)?如果不是则跳回3.如果是则找到比n小的质数,继续
5、k=k+1
6、k是质数吗(判断质数过程)?如果不是则跳回3.如果是则找到比n大的质数。
7、结束
如何判断一个自然数是否为质数的过程比较简单,不累述。
bool IsPrime(u...
全部展开
1、给定任意数n
2、k=n
3、k=k-1
4、k是质数吗(判断质数过程)?如果不是则跳回3.如果是则找到比n小的质数,继续
5、k=k+1
6、k是质数吗(判断质数过程)?如果不是则跳回3.如果是则找到比n大的质数。
7、结束
如何判断一个自然数是否为质数的过程比较简单,不累述。
bool IsPrime(unsigned int x)
{
if (x<=1) return false;
if (x==2) return true;
if ((x%2) == 0) return false;
int maxf = (int)sqrt(x);
int f=3;
while (f <= maxf) {
if ((x % f) == 0) return false;
f += 2;
}
return true;
}
收起
昨天晚上的节目我也看了,是求两个和为103的质数。我想应该是试出来的吧。
从小的开始考虑,1、2、3、5、7、11、……由和为103再看另一个数是不是质数就可以了
因为103是奇数,所以不能被2 整除。只要把103除以从3开始的每一个质数,一直除到7(即小于根号103的最大质数)这就行了
分解质因数