Cod sursa(job #2496881)
Utilizator | Data | 21 noiembrie 2019 19:48:46 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.43 kb |
#include <fstream>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
const int N=1000007;
int main()
{
int n;
long long sol=0;
fin>>n;
int euler[N];
fin.close();
for(int i=2;i<=n;i++)
euler[i]=i-1;
for(int i=2;i<=n;i++)
{
sol+=euler[i];
for(int j=2*i;j<=n;j+=i)
euler[j]-=euler[i];
}
fout<<2ll*sol+1;
return 0;
}