請問數列671、6701、67001、670001、6700001、........的第3個質數是哪個?謝謝!
在维基百科:知识问答/存档/结构式讨论的话题
外观
您好,我用程序写出来说是6.7*10(19)+1
把源代码给你吧,只有一个答案,我也不知道为什么就是那个数了。算法不清楚哒。。。
#include <iostream>
#include <cmath>
//請問數列671、6701、67001、670001、6700001、....{\displaystyle 67\times 10^{n}+1}....的第3個質數是哪個?
using namespace std;
const int m = 67;
bool isprime(long long);
int main()
{
double n ;//因为long long已经溢出了,所以用了double,没有什么关系,因为最后一位才是1
int i = 0;
for (int j = 1;i<3 ; j++)
{
n = m*pow(10, j) + 1;
if (isprime(n))
{
i++;
cout << "#" << i << " " << n << endl;
}
}
system("pause ");
return 0;
}
bool isprime(long long n)
{
bool flag=true;
for (int i = 2; i < n; i++)
{
if (n%i == 0)
{
flag = false; break;
}
}
return (flag);
}
您是說67000000000000000001是質數?
不好意思,不是经常能上google,没有及时看到回复。对的,6.7乘以10的19次方加1
可是這個數等於309929*216178544118169。
按你所知道的,哪个范围内已知不是质数?
n為奇數時,67*10n+1必定是11的倍數。
n為偶數時,n=2、4時,67*10n+1是質數;接下來n=6、8、10、12、14、......、74時,67*10n+1都是合成數。
亦即,這個數列的第3個質數至少是67*1076+1。
你知不知 67*10n+1, n=56时,因数是什麽?
67*1056+1=30955580124091958724452387*216439167773359107673430649917323
似乎,
n為16的倍数时,n=16、32、48、64......時,67*10n+1都是合成數(因数是17)。
n為8+(18的倍数)时,n=8、26、44、62......時,67*10n+1都是合成數(因数是19)。
對的,這個明顯用費馬小定理可以證明。
寻找第N个质数些类问题,除了使用电脑程序暴力破解外,有没有其他主流的方法?
據我所知是沒有,只能把能證明不是質數者先排除掉,費馬數、梅森數都是這樣。