Pagini recente » Cod sursa (job #2505087) | Diferente pentru concursuri-informatica intre reviziile 25 si 24 | Cod sursa (job #1350420) | Monitorul de evaluare | Cod sursa (job #1812257)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("fractii.in");
ofstream out("fractii.out");
const int nMax = 1000005;
int n;
int v[nMax];
long long rasp = 0;
void citire()
{
in >> n;
}
void rezolvare()
{
for(int i = 1; i <= n; ++i)
v[i] = i;
for(int i = 1; i <= n; ++i)
{
for(int k = 2; k * i <= n; ++k)
v[k * i] -= v[i];
}
for(int i = 1; i <= n; ++i)
{
rasp += (1LL * v[i] * 2);
}
out << rasp - 1 << "\n"; //-1 pt ca am luat 1/1 de 2 ori cand am inmultit
}
int main()
{
citire();
rezolvare();
return 0;
}