Cod sursa(job #447762)

Utilizator S7012MYPetru Trimbitas S7012MY Data 30 aprilie 2010 22:16:20
Problema Sum Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <cstdio>

long long m,n=100000,max,sq,d=-1,phi[1000001];


inline void euler() {
	int rezultat=0;
	for (int i = 1; i <= n; ++i)
    	phi[i] = i-1;
	for (int i = 2; i <= n; ++i) {
		if (!phi[i]) {
			if(i*i<=n) 
    			for (int j = 2*i; j <= n; j += i)
        			phi[j] -= phi[i];
			else break;
		}
	}
}

int main()
{
	int i,x;
	FILE *f=fopen("sum.in","r");
	FILE *g=fopen("sum.out","w");
	fscanf(f,"%lld",&m);
	euler();
	for(i=0; i<m; i++) {
		fscanf(f,"%d",&x);
		fprintf(g,"%lld\n",2*phi[x]*x);
	}
	fclose(f);
	fclose(g);
	return 0;
}