Cod sursa(job #2464706)
Utilizator | Data | 28 septembrie 2019 20:07:03 | |
---|---|---|---|
Problema | Fractii | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <iostream>
#include<cstdio>
FILE * f=fopen("fractii.in","r");
FILE * g=fopen("fractii.out","w");
using namespace std;
long long int n;
long long int phi[1000000];
int main()
{ long long int t=0,i;
fscanf(f,"%lld",&n);
for (int i = 1; i <= n; ++i)
phi[i] = i-1;
for (int i = 2; i <= n; ++i)
for (int j = 2*i; j <= n; j += i)
phi[j] -= phi[i];
for(i=1;i<=n;i++)
t=t+2*phi[i];
fprintf(g,"%lld",t+1);
return 0;
}