Pagini recente » Cod sursa (job #2772823) | Cod sursa (job #2531081) | Cod sursa (job #2862460) | Cod sursa (job #212457) | Cod sursa (job #2323873)
#include <fstream>
using namespace std;
ifstream fin ("fractii.in");
ofstream fout ("fractii.out");
int v[1000002];
int n;
long long s;
void euler (){
for (int i = 2; i <= n; ++i)
for (int j = i+i; j <= n; j+=i){
v[j] = v[j] - v[i];
s = s - v[i];
}
//calculam cosntanta lui euler scazand din valoarile multiplilor valoarea numarului
}
int main (){
fin >> n;
for (int i = 1; i <= n; ++i){
v[i] = i-1; //initializam tot vectorul ca si cum toate numerele ar fi prime
s = s + v[i];
}
euler();
s = s*2 + 1; // numaram si cazul 1/1
fout << s << '\n';
}