Cómo escribir un programa en Python para las ecuaciones de Diophantine

Cómo escribir un programa en Python para las ecuaciones de Diophantine

Ecuaciones diofánticas han encantado matemáticos pues Diofanto de Alejandría propuso por primera vez para resolver una ecuación de la forma ax + bx = c. De esta forma, la ecuación se conoce como una ecuación linear de Diophantine. Esta ecuación sólo tiene una solución cuando c es el máximo común divisor de a y b o cuando c es un múltiplo del máximo común divisor de a y b. de lo contrario, no existen soluciones para esta ecuación. Desarrollado por el profesor Jim Carlson de la Universidad de Illinois en Champagne/Urbana, el programa corto de más abajo muestra el poder de Python para tareas matemáticas.

Instrucciones

1 Abra una sesión de terminal e invocar el intérprete de Python con el siguiente comando:Mi iMac: ~ me python $ - v

Devolverá una lista larga de todos los módulos de Python disponibles en su instalación y al final le dirá qué versión de Python está instalado en su computadora.

2 Crear una nueva definición de una función en Python introduciendo el siguiente código en el prompt de Python. Después profesor Carlson, llamamos esta "isolve":

DEF isolve(a,b,c):El colon dirá Python no para interpretar inmediatamente al golpear la tecla de retorno para que tengas más espacio para su programa.

3 Crear dos variables, q y r, que representan el cociente y el resto de las variables de la ecuación a y b y luego invocar el Python función divmod, que encontrará y dividir dos números y mostrar su divisor y el resto, si cualquier. El código debería parecerse a esto:... q, r = divmod(a,b)

mespace Crear un if instrucción que producirá rápidamente una solución a la ecuación cuando no hay ningún resto. Escriba lo siguiente:

... si r == 0:... vuelta ([0, c/b])

5 Crear una instrucción más para el caso donde hay un resto:

... otra cosa:... sol = isolve(b,r,c)... u = sol [0]... v = sol [1]... volver ([v, u - q * v])Esto b y r en el operador de divmod, volver sus valores como las variables u y v y luego devolverlos como el conjunto de solución [v y el producto de q y v del u]. A continuación el código completo para este programa:

DEF isolve(a,b,c):... q, r = divmod(a,b)... si r == 0:... vuelta ([0, c/b])... otra cosa:... sol = isolve(b,r,c)... u = sol [0]... v = sol [1]... volver ([v, u - q * v])Preste especial atención a la sangría después de lo si y los demás Estados. Python no ejecutará este código sin la muesca apropiada.

6 Presione el botón volver una vez más para traer de vuelta el prompt de Python. Introduzca la función isolve y tres valores de z, y y c y pulse "Regresar". Usted debe ver esto:

isolve (5, 17, 103)[721,-206]

Artículos relacionados