Pagini recente » Cod sursa (job #2627407) | Cod sursa (job #2646659) | Cod sursa (job #2719411) | Cod sursa (job #759158) | Cod sursa (job #1973142)
#include <fstream>
#include <math.h>
#define MAXN 1000005
using namespace std;
ifstream f ("fractii.in");
ofstream g ("fractii.out");
int n;
int c[MAXN];
int phi(int x)
{
double result = x;
for (int p = 2; p * p <= x; ++p){
if (x % p == 0){
while (x % p == 0)
x /= p;
result -= result / p;
}
}
if (x > 1){
result -= result / x;
}
return result;
}
int main(){
f >> n;
for(int i = 2; i <= n; ++i){
if(!c[i]){
for(int j = 2 * i; j <= n; j += i)
c[j] = 1;
}
}
long long sol = 1;
for(int i = 2; i <= n; ++i){
if(!c[i]) sol += 2 * (i - 1);
else sol += 2 * phi(i);
}
g << sol << '\n';
}