Cod sursa(job #2294104)

Utilizator AvramDanielAvram Daniel AvramDaniel Data 1 decembrie 2018 21:51:50
Problema Sum Scor 45
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<bits/stdc++.h>
using namespace std;

const int N=100010;

int prim[100010],k,n,a;
bool compus[100010];

void ciur()
{
    compus[1] = 1;
    for(int i=2;i<=N;i++)
    {
        if(!compus[i])
        {
            prim[++k] = i;
            for(int j=i+i;j<=N;j+=i)
                compus[j]=1;
        }
    }
}
vector<int> v;
int main()
{
    ifstream cin("sum.in");
    ofstream cout("sum.out");
    ciur();
    cin>>n;
    while(n--)
    {
        int sum=0;
        cin>>a;

        for(int i=1;prim[i]<=a;i++)
        {
            if(a%prim[i]==0) v.push_back(prim[i]);
        }
        for(int i=1;i<=a*2;i++)
        {
            int j;
            for(j=0;j<v.size();j++)
            {
                if(i%v[j] == 0) break;
            }
            if(j==v.size()) sum+=i;
        }
        cout<<sum<<'\n';
        v.clear();
    }

    return 0;
}