Enuntul problemei: Se citesc de la tastatură numărătorul şi numitorul unei fracţii. Să se afişeze pe ecran fracţia simplificată sau mesajul “Fracţie ireductibilă” în cazul în care nu se poate simplifica.
De ce se simplifica fractiile?
Operațiile cu fracții presupun de multe ori aducerea la același numitor și uneori atât numărătorii cât și numitorii sunt numere mari și asta presupune efectuarea de calcule greoaie, pe măsură. Prin simplificarea unei fracții, atât numărătorul cât și numitorul pot fi reduși la numere mai mici, cu care e mai ușor de lucrat, reducând astfel efortul de calcul rezultat.
Sursa: fractii.ro
Pentru a rezolva aceasta problema vom avea nevoie de urmatorii algoritmi:
- Algoritmul lui Euclid (pentru determinarea CMMMDC)
- Numere prime intre ele
Algoritm pentru simplificarea unei fractii in C++
#include <iostream> using namespace std; int GCD(int A, int B) { if(!B) return A; return GCD(B, A%B); } int main() { int numarator, numitor; cout << "Introdu' numaratorul fractiei: "; cin >> numarator; cout << "Introdu' numitorul fractiei: "; cin >> numitor; int cmmdc = GCD(numarator, numitor); if(cmmdc == 1) cout << "Fractia este ireductibila"; else { numarator = numarator / cmmdc; numitor = numitor / cmmdc; cout << "Noua fractie este: " << numarator << "/" << numitor; } return 0; }