El problema de la prueba de máquina sobre la suma de puntajes

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;
}

  

Supongo que te gusta

Origin www.cnblogs.com/songlinxuan/p/12687653.html
Recomendado
Clasificación