Los números racionales de la tercera sesión

Un número racional es un número que se puede expresar como la razón de dos números enteros. En general, usamos decimales aproximados. Pero a veces, no se permiten errores y se deben usar dos números enteros para representar un número racional.
En este momento, podemos crear una "clase de número racional", el siguiente código inicialmente logra este objetivo. Por brevedad, solo proporciona operaciones de suma y multiplicación.

class Rational
{
    
    
	private long ra;
	private long rb;
	
	private long gcd(long a, long b){
    
    
		if(b==0) return a;
		return gcd(b,a%b);
	}
	public Rational(long a, long b){
    
    
		ra = a;
		rb = b;	
		long k = gcd(ra,rb);
		if(k>1){
    
     //需要约分
			ra /= k;  
			rb /= k;
		}
	}
	// 加法
	public Rational add(Rational x){
    
    
		return ________________________________________;  //填空位置
	}
	// 乘法
	public Rational mul(Rational x){
    
    
		return new Rational(ra*x.ra, rb*x.rb);
	}
	public String toString(){
    
    
		if(rb==1) return "" + ra;
		return ra + "/" + rb;
	}
}

Ejemplos de uso de esta clase:
Racional a = nuevo Racional (1,3);
Racional b = nuevo Racional (1,6);
Racional c = a.add (b);
System.out.println (a + “+” + b + "=" + c);

Por favor, analice la lógica del código, adivine el código en el subrayado y envíelo a través de la página web.
Nota: ¡Utilice únicamente el código que falta como respuesta y no complete el código adicional, los símbolos o el texto explicativo! !

Preste atención a comprender el significado de la pregunta, pero realmente parezca incómodo.
¿Qué es un número racional? ——Los números racionales son el término colectivo para números enteros y fracciones. Los números del conjunto de números racionales se pueden dividir en números racionales positivos, números racionales negativos y cero.
Inserte la descripción de la imagen aquí

Mi basura matemática es realmente difícil de explicar en una palabra.
La idea aquí es que divido números racionales en dos partes: numerador ra y denominador rb, y tanto el numerador como el denominador son números enteros. Se puede ver en la operación de multiplicación que (el numerador se multiplica por el numerador, el denominador se multiplica por el denominador), luego la operación de suma debe transformarse primero en un número con el mismo denominador, que requiere la división para obtener el divisor común más pequeño. El numerador del resultado final - el numerador de a multiplicado por el denominador de b + el denominador de a multiplicado por el numerador de b; el denominador - el denominador de a * el denominador de b

答案 : new Rational (this.ra * x.rb + this.rb * x.ra, this.rb * x.rb)
end.

Supongo que te gusta

Origin blog.csdn.net/weixin_44998686/article/details/109017257
Recomendado
Clasificación