MPRIME1 - Sum of Primes
Tác giả: hieult
Ngôn ngữ: C++
#include <stdio.h>
//#include <conio.h>
#include <math.h>
main()
{
long n[5000],t=2,N;
n[1]=2;
n[2]=3;
for(long i=4;i<11000;i++)
{
int k=0;
for(long j=1;j<=t;j++)
{
if(i%n[j]==0)
{
k=1;
break;
}
else if(n[j]>sqrt(i))
break;
}
if(k==0)
{
t++;
n[t]=i;
}
}
do
{
scanf("%ld",&N);
if(N==0)
break;
long x=0,Dem=0;
for(int i=1;i<=t;i++)
{
if(n[i]>N)
break;
else
{
x=n[i];
for(int j=i+1;j<t;j++)
{
if(x>N)
break;
else if(x==N)
{
Dem++;
break;
}
x+=n[j];
}
}
}
printf("%ld\n",Dem);
}while(1);
//getch();
}