Pagini recente » Cod sursa (job #641523) | Cod sursa (job #1006651) | Cod sursa (job #1588060) | Cod sursa (job #2160783) | Cod sursa (job #130916)
Cod sursa(job #130916)
#include<iostream.h>
#include<stdio.h>
#include<math.h>
int ciur[200003 ];
int main()
{ int i,i1, j,k, x,r, n;
long s;
//double r;
freopen("sum.in", "rt", stdin);
freopen("sum.out", "wt", stdout);
cin>>n;
for(i1=1;i1<=n;i1++)
{ cin>>x; s=1;
r=sqrt(x);
ciur[x]=ciur[2*x]=i1;
if(2<=r && x%2==0) {for(i=2;i<2*x;i+=2) ciur[i]=i1;
for(i=x/2;i<2*x;i+=x/2) ciur[i]=i1;
}
if(3<=r && x%3==0) {for(i=3;i<2*x;i+=3) ciur[i]=i1;
for(i=x/3;i<2*x;i+=x/3) ciur[i]=i1;
}
if(5<=r &&x%5==0) {for(i=5;i<2*x;i+=5) ciur[i]=i1;
for(i=x/5;i<2*x;i+=x/5) ciur[i]=i1;
}
for (k=1;(6*k+1)<=r ;k++)
{if(x%(6*k+1)==0) {for(i=j=6*k+1;i<2*x;i+=j) ciur[i]=i1;
for(i=j=x/(6*k+1);i<2*x;i+=j) ciur[i]=i1;
}
j=6*k+5;
if(j<=r && x%j==0) {for(i=j;i<2*x;i+=j) ciur[i]=i1;
j=x/j;
for(i=j;i<2*x;i+=j) ciur[i]=i1;
}
}
for(j=2;j <2*x;j++)
if(ciur[j]!=i1) s+=j;
cout<<s<<'\n';
}
return 0;
}