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();
 }                          

      

Download