Pagini recente » Cod sursa (job #2869026) | Cod sursa (job #1779444) | Cod sursa (job #392213) | Cod sursa (job #3172700) | Cod sursa (job #130909)
Cod sursa(job #130909)
#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(x>2 && 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(x>3 && 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(x>5&&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;
}
if(x%(6*k+5)==0) {for(i=j=6*k+5;i<2*x;i+=j) ciur[i]=i1;
for(i=j=x/(6*k+5);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;
}