Cod sursa(job #447770)

Utilizator S7012MYPetru Trimbitas S7012MY Data 30 aprilie 2010 22:57:43
Problema Sum Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>
#include <iostream>
using namespace std;

long long m,n=100000,d=-1,phi[1000001],l,k;


/*inline void euler() {
	int rezultat=0,i,j;
	for (l = 1; l <= n; ++l)
    	phi[l] = l-1;
	for (l = 2; l <= n; ++l) {
    	for (k = 2*l; k <= n; k += l)
        	phi[k] -= phi[l];
	}
}*/

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