41是一个很特殊的质数

41是一个很特殊的质数
质数41也是一个很特殊的质数,他是由6个连续的质数相加而得.
41 = 2 + 3 + 5 + 7 + 11 + 13
在100以内,再没有连续7个质数和也是质数的,因此41是100以内最长的连续质数和.
1000以内最长连续质数和是953,他由21个连续的质数相加.
953=7+11+13+17+19+23+29+31+37+41+43+47+53+59+61+67+71+73+79+83+89
10000000以内最长连续质数和是?
如果有多个解,请输出较小的一个解
其他人气:881 ℃时间:2020-04-23 07:12:16
优质解答
我用C语言做出来了,但是你的范围太大,程序执行时间很长,在我电脑上能求10000以内的,只要改变循环里面的范围就行了
#include
bool fun(int n)
{
int i;
for(i = 2; i < n; i++)
if(n % i == 0)
return false;
return true;
}
int main()
{
int i,j,k,m,n,a = 0,min,max;
for(j = 2; j < 1000; j++)
{
if(fun(j))
{
m = 0,k = 0;
for(i = j; i a)
{
n = m;
a = k;
min = j;
max = i;
}
}
}
}
printf("从 %d 到 %d 的连续 %d 个质数和为%d\n",min,max,k,n);
return 0;
}
运行结果:
#include
bool fun(int n)
{
int i;
for(i = 2; i < n; i++)
if(n % i == 0)
return false;
return true;
}
int main()
{
int i,j,k,m,n,a = 0,min,max;
for(j = 2; j < 1000; j++)
{
if(fun(j))
{
m = 0,k = 0;
for(i = j; i a)
{
n = m;
a = k;
min = j;
max = i;
}
}
}
}
printf("从 %d 到 %d 的连续 %d 个质数和为%d\n",min,max,a,n);
return 0;
}
运行结果:
从 3 到 317 的连续 65 个质数和为9521
Press any key to continue
改变范围后;
从 7 到 89 的连续 21 个质数和为953
Press any key to continue
从 2 到 13 的连续 6 个质数和为41
Press any key to continue
我来回答
类似推荐
请使用1024x768 IE6.0或更高版本浏览器浏览本站点,以保证最佳阅读效果。本页提供作业小助手,一起搜作业以及作业好帮手最新版!
版权所有 CopyRight © 2012-2024 作业小助手 All Rights Reserved. 手机版