Simule la suma y resta aproximadas de denominadores;
Se puede resolver utilizando el máximo común divisor y el mínimo común múltiplo;
Para diferentes denominadores, encuentre el mínimo común múltiplo;
Después de la suma y simplificación, el máximo común divisor se usa para calcular el numerador y el denominador.
Los problemas relacionados con el mínimo común divisor y el máximo común divisor se han resumido anteriormente;
#include <iostream> #include <cadena> #include <vector> usando el espacio de nombres estándar; int gys (int a, int b) { si (b == 0) devolver a; retorno gys (b, a% b); } int gbs (int a, int b) { int temp; si (a> b) { temp = gys (a, b); } más { temp = gys (b, a); } retorno (a * b) / temp; } int main () { int a, b, c, d; while (cin >> a >> b >> c >> d) { int fm = gbs (b, d); a * = fm / b; c * = fm / d; int fz = a + c; int gy; si (fz> fm) { gy = gys (fz, fm); } más { gy = gys (fm, fz); } cout << fz / gy << "" << fm / gy << endl; } devuelve 0; }