Pagini recente » Cod sursa (job #2069105) | Cod sursa (job #1922135) | Cod sursa (job #901263) | Cod sursa (job #46158) | Cod sursa (job #1058627)
#include <fstream>
using namespace std;
ifstream f("sum.in");
ofstream g("sum.out");
const int N=200001;
int e[N],v[67],c[N/2+1];
int prim[N/2+1]={};
bool r[N/2+1];
int main(){
int n,nr=0,i,j,k,x,nrp=0;
long long s;
for(i=2 ; i*i<=N/2 ; i++)
if(!r[i])
for(j=i*i ; j<=N/2 ; j+=i)
r[j] = true;
for(i=2;i<=N/2;i++)
if(r[i]==false){
nrp++;
prim[nrp]=i;
}
f>>x;
for(k=1;k<=x;k++)
f>>c[k];
for(k=1;k<=x;k++){
s=0;
nr=0;
n=c[k];
for(i=1;i<=2*n;i++)
e[i]=i;
for(i=1; prim[i]<=n ;i++)
if(n%prim[i]==0){
nr++;
v[nr]=prim[i];
}
//for(i=1;i<=nr;i++)
// g<<v[i]<<" ";
//g<<"\n";
for(i=1;i<=nr;i++)
if(e[v[i]]==v[i])
for(j=v[i];j<=2*n;j+=v[i])
e[j]=e[j]/v[i]*(v[i]-1);
for(i=1;i<=2*n;i++)
if(e[i]==i)
s=s+i;
g<<s<<"\n";
}
return 0;
}