Pagini recente » Cod sursa (job #550697) | Cod sursa (job #1222686) | Cod sursa (job #3030086) | Cod sursa (job #2203165) | Cod sursa (job #185075)
Cod sursa(job #185075)
#include <stdio.h>
//#include <mem.h>
int main(){
long n,x,k,i,j,l,d,a[90001]={0},b[90001]={0},s,aux;
FILE*in = fopen("sum.in","r");
FILE*out = fopen("sum.out","w");
fscanf (in,"%ld", &n);
for (i=1;i<=n;i++){
fscanf (in, "%ld", &x);
aux = x;
//for (j=1;j<=2*x;j++)
// b[j] = a[j] = 0;
memset (a,0,90001);
memset (b,0,90001);
d = 2;k = 0;s = 0;
while (aux > 1){
if (aux % d == 0){
a[++k] = d;
while (aux % d == 0) aux /= d;
}
d++;
}
for (j=1;j<=k;j++)
for (l=1;a[j]*l<=2*x;l++)
b[a[j]*l] = 1;
for (l=1;l<=2*x;l++)
if (!b[l]) s += l;
fprintf (out, "%ld\n", s);
}
return 0;
}