Cod sursa(job #17982)

Utilizator FlorianFlorian Marcu Florian Data 17 februarie 2007 17:06:13
Problema Sum Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#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;}