équations diophantiennes ont enchanté les mathématiciens depuis Diophante d'Alexandrie d'abord proposé la résolution d'une équation de la forme ax + bx = c . Sous cette forme, l'équation est connue comme une équation diophantienne linéaire. Cette équation a seulement une solution lorsque c est le plus grand commun diviseur de a et b ou lorsque c est égal à un multiple du plus grand commun diviseur de a et b . Sinon, il n'y a pas de solutions pour cette équation. Développé par le professeur Jim Carlson de l'Université de l'Illinois à Urbana /Champagne , le programme court ci-dessous montre la puissance de Python pour des tâches mathématiques. Choses que vous devez Python 2.6 ou supérieur Afficher plus Instructions 1 Ouvrez une session de terminal et invoquer l'interpréteur Python avec la commande suivante: Mon - iMac : ~ $ me python -v Ce sera de retour d'une longue liste de tous les modules Python disponibles dans votre installation et à la fin , il vous dira quelle version de Python est installé sur votre ordinateur. 2 créer une nouvelle définition d'une fonction en Python en entrant le code suivant à l'invite de Python. Après professeur Carlson, nous appellerons cette " isolve ": >>> def isolve (a, b , c): Le côlon dira Python ne pas interpréter immédiatement lorsque vous appuyez sur la touche de retour de sorte que vous avez plus d'espace pour votre programme. 3 Créer deux variables , Q et R , qui se tiendront pour le quotient et le reste des variables de l'équation a et b , puis appeler la fonction divmod Python, qui va trouver et diviser deux nombres et afficher leur diviseur et le reste , le cas échéant . Le code devrait ressembler à ceci : ... q, r = divmod (a, b ) 4 Créer une instruction if qui va afficher rapidement une solution à l'équation lorsqu'il leur a pas de reste . Tapez la commande suivante : ... si r == 0 : ... retourner ( [ 0, c /b] ) 5 Créer une instruction else pour le cas où il ya un reste : ... autre : ... sol = isolve ( b , r, c) ... u = sol [0] ... v = sol [1] ... retourner ( [v , u - q * v] ) Cela mettra b et r dans l'opérateur divmod , retourner leurs valeurs que les variables u et v , puis les retourner comme l'ensemble de la solution [v , et le produit de q et v soustrait u ] . Le code complet de ce programme suit : >>> def isolve (a, b , c): ... q, r = divmod (a, b ) ... si r == 0 : ... retourner ( [ 0, c /b] ) ... autre : ... sol = isolve ( b , r, c) ... u = sol [0] ... v = sol [1] ... retourner ( [v , u - q * v] ) une attention particulière à la mise en retrait après le si et le else . Python ne sera pas exécuter ce code sans l' indentation correcte . 6 Appuyez sur la touche de retour une fois de plus pour ramener l'invite Python. Entrez la fonction isolve et trois valeurs pour z , y et c et appuyez sur «retour». Vous devriez voir ceci: >>> isolve (5, 17 , 103) [ 721, -206 ]
|