Cod sursa(job #2268013)
Utilizator | Data | 24 octombrie 2018 14:14:26 | |
---|---|---|---|
Problema | Fractii | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <iostream>
using namespace std;
const int MAXM=1000000;
int e[MAXM];
void euler()
{
for(int i=2;i<MAXM;++i)
e[i]=i;
for(int i=2;i<=MAXM;i++){
if(e[i]==i) {
for(int j=i;j<MAXM;j+=i)
e[j]=e[j]/i*(i-1);
}
}
}
int main()
{
int n,sum=0;
cin>>n;
euler();
for(int i=1;i<=n;++i)
{
sum+=e[i];
}
cout<<sum*2+1;
return 0;
}