Pagini recente » Cod sursa (job #1399320) | Cod sursa (job #3302848) | Cod sursa (job #2027697) | Monitorul de evaluare | Cod sursa (job #3315979)
#include <iostream>
#include <vector>
#include <algorithm>
#include <cassert>
#include <fstream>
#include <cmath>
int main(int argc, char **argv)
{
std::ifstream f("fractii.in");
assert(f.is_open());
int n;
f >> n;
f.close();
int nr = (2*(n-1))+1;
for(int i = 2; i <= n; ++i) {
for(int j = 2; j <= n; ++j) {
if(i==j) continue;
bool irreducible = true;
for(int k = 2; k <= std::min(i,j); ++k) {
float fij = float(i/k) / float(j/k);
if(fij == (float(i)/float(j))) {
irreducible = false;
break;
}
}
if(irreducible) {
++nr;
}
}
}
std::ofstream o("fractii.out");
o << nr;
o.close();
return 0;
}