Cod sursa(job #17886)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 17 februarie 2007 11:42:38
Problema Sum Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.43 kb
#include<stdio.h>
long int  n,k,d,m,i;
int main()
{
FILE *f,*g;
f=fopen("sum.in","r");
g=fopen("sum.out","W");
fscanf(f,"%ld",&n);
for(i=1;i<=n;i++)
{ 
	fscanf(f,"%ld",&k);
	d=2;m=k;k=2*k*k;
	if(m%d==0)
		{
		while(m%d==0)m/=d;
		k*=d-1;
		k/=d;
		}
	for(d=3;d*d<=m;d=d+2)
		if(m%d==0)
			{
			while(m%d==0)m/=d;
			k*=d-1;
			k/=d;
			}
	if(m>1)
		{k*=m-1;k/=m;}
	fprintf(g,"%ld",k);
}
fcloseall();
return 0;
}