Cod sursa(job #954407)
| Utilizator | Data | 29 mai 2013 09:14:26 | |
|---|---|---|---|
| Problema | Sum | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1 kb |
#include<iostream>
#include<fstream>
#include<algorithm>
#include<cmath>
using namespace std;
long long n,i,j,m,fr[2000001],d,s,cop;
short int v;
int main()
{
ifstream f("sum.in");
ofstream g("sum.out");
f>>m;
for(i=1;i<=m;i++)
{
f>>n;
s=2*n*(2*n+1)/2;
d=2;
v=0;
cop=n;
while(n>1)
{
if(n%d==0)
{
n=n/d;
v=1;
}
else
{
if(v==1)
for(j=d;j<=2*cop;j=j+d)
{
if(fr[j]!=i)
s=s-j;
fr[j]=i;
}
v=0;
d++;
}
}
n=cop;
for(j=d;j<=2*n;j=j+d)
{
if(fr[j]!=i)
s=s-j;
fr[j]=i;
}
g<<s<<'\n';
}
f.close();
g.close();
return 0;
}
