Pagini recente » Cod sursa (job #748938) | Cod sursa (job #1972929) | Cod sursa (job #702713) | Cod sursa (job #2106854) | Cod sursa (job #2214601)
#include<stdio.h>
#define MAXN 1000000
FILE*fin,*fout;
void ciur(int N);
int phi[MAXN+2];
bool marked[MAXN+2];
int main()
{
fin=fopen("fractii.in","r");
fout=fopen("fractii.out","w");
int N;
fscanf(fin,"%d",&N);
ciur(N);
//phi[1]=N;
long long ans=0;
for(int i=1; i<=N; i++)
{
ans+=2*phi[i];
}
ans--;
fprintf(fout,"%lld",ans);
fclose(fin);
fclose(fout);
return 0;
}
void ciur(int N)
{
for(int i=1; i<=N; i++)
{
phi[i]=i;
}
for(int i=2; i<=N; i++)
{
if(!marked[i])
{
for(int j=i; j<=N; j+=i)
{
marked[j]=1;
phi[j]/=i;
phi[j]*=(i-1);
}
}
}
}