Pagini recente » Cod sursa (job #722862) | Cod sursa (job #675799) | Cod sursa (job #2086896) | Cod sursa (job #2036600) | Cod sursa (job #2416184)
#include <fstream>
#include <iostream>
using namespace std;
int n, fractii, v[1000001];
int cmmdc(int a, int b) {
int ca = a;
int cb = b;
int c;
while(cb) {
c = ca % cb;
ca = cb;
cb = c;
}
return ca;
}
int main() {
ifstream f("fractii.in");
ofstream g("fractii.out");
f >> n;
v[0] = 1;
v[1] = 1;
fractii = n * (n-1) + 1;
// for(int i = 1; i <= n; i++)
// for(int j = 1; j <= n; j++)
// if(cmmdc(i, j) == 1)
// fractii++;
for(int i = 2; i <= n; i++)
if(!v[i]) {
int m = 0;
for(int j = 2; j*i <= n; j++) {
v[i*j] = 1;
m++;
//cout << i << '/' << i*j << endl;
}
//cout << m << ' '<< i << endl;
fractii -= (m+1)*m;
}
g << fractii;
f.close();
g.close();
return 0;
}