Pagini recente » Cod sursa (job #421273) | Cod sursa (job #2655410) | Cod sursa (job #1821107) | Cod sursa (job #682591) | Cod sursa (job #2133955)
#include <iostream>
#include <fstream>
using namespace std;
int cmmdc(int a, int b) {
while (a != b) {
if (a > b)
a = a - b;
else
b = b - a;
}
return a;
}
int main() {
int N, P, Q, nrFractii;
// 1. Citire N
ifstream fin ("fractii.in");
fin >> N;
fin.close();
if (N < 1 || N > 1000000) {
cout << "N trebuie sa fie cuprins intre 1 si 1 milion.";
return 1;
}
// 2. Determinare fracții ireductibile
nrFractii = N * 2 - 1; // „unu/orice” și „orice/unu” este ireductibil
for (P = 2; P < N; P++) {
for (Q = P+1; Q <= N; Q++) {
if (cmmdc(P,Q) == 1)
nrFractii += 2;
}
}
// 3. Printarea numărului
ofstream fout ("fractii.out");
fout << nrFractii;
fout.close();
return 0;
}