শুক্রবার, ২ জুন, ২০১৭

UVA 1210 - Sum of Consecutive Prime Numbers

#include<bits/stdc++.h>
using namespace std;
#define SIZE 10005
long i,ar[5500]={0},k=0,j,arr[SIZE],status[SIZE];
void sieve()
{
    long sum=0;
    for(i=2; i<10000; i++)
    {
        if(status[i] == 0)
        {
            ar[k++]=i;
            for(j=2; i*j<10000; j++)
            {
                status[i*j] = 1;
            }
        }
    }
    for(i=0;i<k;i++)
    {
        sum=0;
        for(j=i;j<k;j++)
        {
            sum+=ar[j];
            if(sum>10000)
                break;
            else
            {
                arr[sum]++;
            }
        }
    }
}
main()
{
    long n;
    sieve();
    while(cin>>n)
    {
        if(n==0)
            break;
        cout<<arr[n]<<endl;
    }
}

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন

Factorization with prime Sieve

vector <int> prime; char sieve[1000009]; int N=1000009; void primeSieve ( ) { sieve[0] = sieve[1] = 1; prime.push_back(2); ...