Cod sursa(job #1348367)

Utilizator WhiteStormPopovici Stefan WhiteStorm Data 19 februarie 2015 17:43:54
Problema Sum Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("sum.in");
ofstream out("sum.out");
bool prim[200001];

bool PIE(int a,int b)
{
    if(prim[a])
    {
        if(b>=a)
        {
            if(b%a==0) return 0;
            else return 1;
        }
        else return 1;
    }
    int r;
    while(b)
    {
        r=a%b;
        a=b;
        b=r;
    }
    if(a==1) return 1;
    else return 0;
}


void Initializare(int n)
{
    int i,j,t=2*n;

prim[0]=0; prim[1]=0;
for(i=2;i<=t;i++) prim[i]=1;
for(i=2;i*i<=t;i++) if(prim[i])
    for(j=i*i;j<=t;j+=i) prim[j]=0;

}


int main()
{

    int n,i,x,j,t;
    long long unsigned s=0;
    in>>n;
    Initializare(n);
    for(i=1;i<=n;i++)
    {
        in>>x;
        s=0;
        t=2*x;
        for(j=1;j<=t;j++) if(PIE(x,j)) s+=j;
        out<<s<<"\n";
    }
    return 0;
}