Cod sursa(job #521266)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 11 ianuarie 2011 21:36:58
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>

FILE*f=fopen("sum.in","r");
FILE*g=fopen("sum.out","w");

int T,q,max,Query[100005],i,j,pr[100005];
long long R;

int main () {
	fscanf(f,"%d",&T);
	
	for ( i = 1 ; i <= T ; ++i ){
		fscanf(f,"%d",&Query[++q]);
		if ( Query[q] > max )
			max = Query[q];
	}
	
	for ( i = 2 ; i <= max ; ++i ) pr[i] = i - 1;
	
	for ( i = 2 ; i <= max ; ++i ){
		for ( j = i + i ; j <= max ; j += i ){
			pr[j] -= pr[i];
		}
	}
	for ( i = 1 ; i <= T ; ++i ){
		R = 1LL * pr[Query[i]] * 2 * Query[i] ;
		fprintf(g,"%lld\n",R );
	}
	
	fclose(f);
	fclose(g);
	
	return 0;
}