Pagini recente » Cod sursa (job #1673870) | Cod sursa (job #1392567) | Cod sursa (job #544888) | Cod sursa (job #405127) | Cod sursa (job #979930)
Cod sursa(job #979930)
#include<stdio.h>
#include<stdlib.h>
long long int rez;
int v[1000000],n;
int nr[1000000];
FILE *fout;
void citire()
{
FILE *f;
int i;
f=fopen("sum.in","rt");
if(f==NULL)
{
printf("eroare");
return;
}
fscanf(f,"%d",&n);
for(i=0;i<n;i++)
fscanf(f,"%d",&nr[i]);
}
void functie(int n)
{
int i,j;
for(i=2;i<=n;i++)
v[i]=i-1;
v[1]=1;
for(i=2;i<=n;i++)
for(j=2*i;j<=n;j+=i)
v[j]-=v[i];
}
int main()
{
int i;
citire();
fout=fopen("sum.out","wt");
for(i=0;i<n;i++)
{
functie(nr[i]);
rez=nr[i]*v[nr[i]]*2;
fprintf(fout,"%lld \n",rez);
}
fclose(fout);
return 0;
}