Pagini recente » Cod sursa (job #1728711) | Cod sursa (job #2673715) | Cod sursa (job #1208194) | Cod sursa (job #2114594) | Cod sursa (job #44341)
Cod sursa(job #44341)
#include<stdio.h>
int main()
{long n,x,k,v[1000],ok,y,s,i,j,p,r,l;
FILE *f=fopen("sum.in","r");
FILE *g=fopen("sum.out","w");
fscanf (f,"%ld",&n);
for (i=1;i<=n;i++)
{fscanf(f,"%ld",&x);
k=2; y=x;p=0;
while(y!=1){if (y%k==0) {p++; v[p]=k;} while (y%k==0) y=y/k; k++;}
if (p==1&&v[1]==x) fprintf(g,"%ld\n",x*(2*x-2));
else {
if (x%2==0) {s=1; r=2;}
else{ r=1; s=3;}
for (j=3;j<=2*x-1;j=j+r)
{ok=1;
for (l=1;l<=p;l++&&ok==0)
if (j%v[l]==0) ok=0;
if (ok==1) s+=j;}
fprintf(g,"%ld\n",s);}}
fclose(f);
fclose(g);
return 0;}