Cod sursa(job #1018448)

Utilizator alex-florinHarbuzariu Alexandru Florin alex-florin Data 29 octombrie 2013 17:12:29
Problema Sum Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
using namespace std;
ifstream f("sum.in");
ofstream g("sum.out");
char prim[200001];
long long t;
void descompunere(int k)
{
    int d=2, m;
    while(k>1)
    {
        m=0;
        while(k%d==0)
        {
            k=k/d;
            m++;
        }
        if(m)
            for(int i=d; i<=t; i=i+d)
                prim[i]=1;
        d++;
    }
}
int main()
{
    long long n, x, i, j, s;
    f>>n;
    for(i=1; i<=n; i++)
    {
        f>>x; t=2*x; s=0;
        descompunere(x);
        for(j=1; j<=t; j++)
        if(!prim[j])
            s=s+j;
        else
            prim[j]=0;
        g<<s<<'\n';
    }
    f.close(); g.close();
    return 0;
}