Tecnología

Inicio

Cómo escribir un programa en Python para Ecuaciones diofánticas

Cómo escribir un programa en Python para Ecuaciones diofánticas


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

Instrucciones

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

Esto devolverá una larga lista de todos los módulos de Python disponibles en su instalación y al final se le dirá que está instalada la versión de Python en su ordenador.

2 Crear una nueva definición de una función en Python introduciendo el código siguiente en el símbolo del pitón. Siguiendo el profesor Carlson, vamos a llamar a este "iSOLVE":

iSOLVE def (a, b, c):
El colon le dirá Python no interpretar inmediatamente cuando se pulse la tecla de retorno para que tenga más espacio para su programa.

3 Crear dos variables, Q y R, que se mantengan de parte del cociente y el resto de la ecuación las variables a y b, y luego invocar el DIVMOD función de Python, que se encuentra y dividir dos números y mostrar su divisor y el resto, si lo hubiere. El código debería tener este aspecto:
... Q, r = DIVMOD (a, b)

4 Crear una sentencia if que se hará de forma rápida salida de una solución a la ecuación cuando su no hay resto. Escriba lo siguiente:

... Si r == 0:
... De retorno ([0, c / b])

5 Crear una declaración de otra persona para el caso en el que hay un resto:

... Otra cosa:
... Sol = iSOLVE (b, r, c)
... U = sol [0]
... V = Sol [1]
... De retorno ([v, u - q * v])
Esto pondrá B y R en el operador DIVMOD, volver a sus valores como las variables u y v y luego devolverlos como el conjunto solución [v, y el producto de Q y V resta de u]. El código completo de este programa sigue:

iSOLVE def (a, b, c):
... Q, r = DIVMOD (a, b)
... Si r == 0:
... De retorno ([0, c / b])
... Otra cosa:
... Sol = iSOLVE (b, r, c)
... U = sol [0]
... V = Sol [1]
... De retorno ([v, u - q * v])
Prestar mucha atención a la sangría después del caso y las else. Python no ejecutará el código sin el sangrado adecuado.

6 Pulse el botón de devolución 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 "Return". Usted debe ver esto:

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