Cod sursa(job #333856)

Utilizator Anamaria20Cotirlea Anamaria Anamaria20 Data 24 iulie 2009 12:45:40
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <stdio.h>

FILE *f,*s;

long long int n,i,j,max,v1[100005],v2[100005];

int main()
{
	f=fopen("sum.in","r");
	s=fopen("sum.out","w");
	
	fscanf(f,"%lld\n",&n);
	
	for(i=1;i<=n;i++)
	{
		fscanf(f,"%lld\n",&v1[i]);
		
		if(v1[i]>max)
			max=v1[i];
	}	
	
	for(i=1;i<=max;i++) 
		v2[i]=i;

	for(i=2;i<=max;i++)
	{
		if(v2[i]==i)
		{
			for (j=i;j<=max;j+=i)
			{	
				v2[j]/=i;
				v2[j]*=(i-1);
			}
		}
	}	
	
	for(i=1;i<=n;i++)
		fprintf(s,"%lld\n",v2[v1[i]]*v1[i]*2);
	
	fclose(s);
	
	return 0;
}