Cod sursa(job #504756)

Utilizator vladtarniceruVlad Tarniceru vladtarniceru Data 28 noiembrie 2010 16:38:02
Problema Sum Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
# include <cstdio>
  using namespace std;
	int main (){
		long long n, t, v[100100];
		freopen ("sum.in", "r", stdin);
		freopen ("sum.out", "w", stdout);
        scanf ("%lld", &n);
		
		for (int i = 2; i <= 100000; ++i) v[i] = i  - 1;
		//for (int j = 4; j <= 100000; j += 2)
		//		v[j] -= v[2];
        for (int i = 3; i <= 100000; i += 2) 
			for (int j = i << 1; j <= 100000; j += i)
				v[j] -= v[i];
		
        /*f>>n;
		for(i=2;i<=n;i++) v[i]=i-1; 
		for(i=2;i<=n;i++){s+=v[i]; 
			for(j=i*2;j<=n;j+=i)       
			v[j]-=v[i];        
		} */ 
		
		for (int i = 1; i <= n; ++i){
			scanf ("%d", &t);
			printf ("%lld\n", (long long)(t * (v[t] << 1)));
			//2*((ll)val*phi[val]);
		}
		return 0;
	}