Project Euler Problem 50
2012-08-19 17:02
369 查看
这是简单题,直接枚举每个起始的质数,然后连续质数相加,记录下能得到的最大的质数的项数,然后找到最大项数即可。
#include<stdio.h>
bool isPrime(int n) //判断质数
{
int i;
for(i=2;i*i<=n;i++)
if(n%i==0)
return false;
return true;
}
int main()
{
int xx,num,sum=0,max=0,cnt,ans;
for(xx=2;xx<1000;xx++) //枚举起始位置
{
if(!isPrime(xx)) //从质数开始
continue;
cnt=0,sum=0;
for(num=xx;;num++)
{
if(sum+num>1000000)
break;
if(!isPrime(num)) //只能加质数
continue;
cnt++; //记录项数
sum+=num;
if(isPrime(sum))
{
if(cnt>max) //得到最大项数,和答案
{
max=cnt;
ans=sum;
}
}
}
}
printf("%d %d\n",max,ans);
return 0;
}
#include<stdio.h>
bool isPrime(int n) //判断质数
{
int i;
for(i=2;i*i<=n;i++)
if(n%i==0)
return false;
return true;
}
int main()
{
int xx,num,sum=0,max=0,cnt,ans;
for(xx=2;xx<1000;xx++) //枚举起始位置
{
if(!isPrime(xx)) //从质数开始
continue;
cnt=0,sum=0;
for(num=xx;;num++)
{
if(sum+num>1000000)
break;
if(!isPrime(num)) //只能加质数
continue;
cnt++; //记录项数
sum+=num;
if(isPrime(sum))
{
if(cnt>max) //得到最大项数,和答案
{
max=cnt;
ans=sum;
}
}
}
}
printf("%d %d\n",max,ans);
return 0;
}
相关文章推荐
- Project Euler problem 50
- Project Euler Problem 4: Largest palindrome product
- Project Euler Problem 47 Distinct primes factors
- Project Euler problem 5
- Project Euler problem 13
- Project Euler problem 24
- Project Euler problem 35
- Project Euler Problem 21
- projecteuler Problem 29
- 400万内斐波那契数的偶数之和(Project Euler Problem 2)
- project euler Problem 13
- http://projecteuler.net/problem=23 [Answer:4179871]
- Project Euler Problem 66
- Project Euler -> problem 7
- Project Euler problem 62
- project euler problem 17
- Project Euler Problem 25
- Python计算Project Euler Problem 3
- Project Euler Problem 17
- Project Euler Problem 5: Smallest multiple