Escribí un programa de Python para encontrar las soluciones a cualquier ecuación de la forma ax + by = c
print “para la ecuación de la forma ‘ax + by = c’,”
a = int (raw_input (“Ingrese a:”)) #a = 13
b = int (raw_input (“Enter b:”)) #b = 8
c = int (raw_input (“Ingrese c:”)) #c = 523
print “La ecuación:% sx +% sy =% s”% (a, b, c)
soluciones = []
para y en el rango (0, c / b + 1):
x = (c – b * y) / flotante (a)
if (x.is_integer ()):
soluciones.append ((int (x), y))
- Cómo resolver qué porcentaje es 25 de 162.5 sin una calculadora
- ¿Cuál es la expansión de sin (3x) y cos (3x)?
- Qué tipos de funciones / lógica se ajustan a los criterios: f (f (f (x))) = x; f (f (x)) = x; etc?
- ¿Cuántos pares de xey satisfacen la ecuación 4x + 6y = 16 y 6x + 9y = 24?
- ¿Cuál es el valor de la ecuación dada?
soluciones de impresión
Salidas para varias entradas:
Para esta pregunta, la solución está en el primer resultado que se muestra
[(39, 2), (31, 15), (23, 28), (15, 41), (7, 54)]
Entonces, eso son 5 soluciones. Pero es importante tener en cuenta:
El número de soluciones depende del rango de y (o x)
Solo he considerado soluciones no negativas de (x, y).
Si cambio el range(0,c/b + 1)
a range(-c/b , c/b + 1)
, la salida para la ecuación con a = 13, b = 8 y c = 523 en el mismo programa es :
[(79, -63), (71, -50), (63, -37), (55, -24), (47, -11),
(39, 2), (31, 15), (23, 28), (15, 41), (7, 54)]
A medida que aumenta el rango, también aumenta el número de soluciones plausibles.
digamos el range(-100,100)
, tenemos estas soluciones
[(95, -89), (87, -76), (79, -63), (71, -50), (63, -37),
(55, -24), (47, -11), (39, 2), (31, 15), (23, 28),
(15, 41), (7, 54), (-1, 67), (-9, 80), (-17, 93)]
Al igual que.
ALGORITMO
- Recorre todos los valores enteros de y en cualquier rango.
- Sustituya ese valor en la ecuación para obtener una solución para x.
- Si x es un número entero, agregue el par a la lista de soluciones.
Creo que es bastante simple. Simplemente modifique el rango para otros resultados. Como está generalizado adoptar cualquier ecuación de la forma [math] ax + by = c [/ math], siéntase libre de jugar con ella. 😉