Cod sursa(job #65024)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 6 iunie 2007 18:54:26
Problema Sum Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.41 kb
#include<stdio.h>
long int n,i,j,fi[100001],x,k;
int main()
{
	FILE *f,*g;
	f=fopen("sum.in","r");
	g=fopen("sum.out","w");
	fscanf(f,"%ld",&n);
	for(i=2;i<=100000;i++)
	if(!fi[i])
	 for(j=i;j<=100000;j=j+i)
	  { if(!fi[j])fi[j]=1;
	    k=j/i;fi[j]*=i-1;
	    while(k%i==0){fi[j]*=i;k/=i;}
	  }
	for(i=1;i<=n;i++)
	{fscanf(f,"%ld",&j);
	 fprintf(g,"%ld\n",(j*fi[j])/2);}
	fcloseall();
	return 0;
}