Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako napísať program v Pythone pre Diophantine rovníc

Diophantine rovnica sa okúzliť matematiky od Diophantus Alexandrie najprv navrhoval riešiť rovnicu v tvare ax + bx = c V tejto podobe , rovnica je známa ako lineárna Diophantine rovnice . Táto rovnica má iba riešenie , keď c je najväčší spoločný deliteľ a a b , alebo keď c je násobkom najväčší spoločný deliteľ a a b V opačnom prípade , nie sú k dispozícii žiadne riešenie tejto rovnice . Krátky program pod vyvinutý profesorom Jim Carlson z University of Illinois v Urbana /Champagne , ukazuje silu Pythonu pre matematické úlohy . Veci , ktoré budete potrebovať
Python 2.6 alebo vyšší
Zobraziť ďalšie inštrukcie Cestuj 1

Otvorte terminálové relácie a vyvolať interpret Pythone pomocou nasledujúceho príkazu :

Môj - iMac : ~ me $ python - v

vráti dlhý zoznam všetkých modulov Pythonu k dispozícii vo vašom zariadení a na konci to vám povedia , ktoré je verzia Pythone nainštalovaná na vašom počítači .
2

vytvoriť novú definíciu funkcie v Pythone zadaním nasledujúci kód na riadku Python . Po profesora Carlson , budeme volať toto " isolve " :

>>> def isolve ( a , b , c) :

hrubého čreva vám povie , Python , aby okamžite interpretovať , kedy stlačíte klávesu Enter , takže budete mať viac priestoru pre váš program .
3

Vytvorte dve premenné , Q a R , ktoré budú slúžiť pre kvocient a zvyšok rovnice premenných a a b , a potom vyvolajte funkciu divmod Python , ktorý bude nájsť a deliť dve čísla a zobrazenie ich deliteľ a zvyšok , ak existuje . Kód by mal vyzerať takto :

... q , r = divmod ( a , b )
4

Ak môžete vyhlásenie , že bude rýchlo výstupom riešenia rovnice , keď je ich žiadny zvyšok . Zadajte nasledujúci príkaz :

... ak r == 0 :

... return ( [ 0 , c /b ] )
5

Vytvoriť vyhlásenie iného pre prípad , kedy je zvyšok :

... else :

... sol = isolve ( b , r, c)

... u = sol [ 0 ]

... v = sol [ 1 ]

... return ( [ v , u - q * v ] )

bude klásť b a r na prevádzkovateľa divmod , vrátiť svoje hodnoty ako premenné u a v , a potom sa vrátiť ako riešenie nastavenú [ v , a produkt q a v odpočítaná z u ] . Kompletný kód tohto programu takto :

>>> def isolve ( a , b , c) :

... q , r = divmod ( a , b )

... ak r == 0 :

... vrátiť ( [ 0 , c /b ] )

... else :

... sol = isolve ( b , r, c)

... u = sol [ 0 ]

... v = sol [ 1 ]

... return ( [ v , u - q * v ] )

Venujte pozornosť odsadenie po if a else . Python nebude spúšťať tento kód bez riadneho odsadenia .
6

Stlačením tlačidla RETURN ešte raz priviesť späť na riadok Python . Zadajte funkciu isolve a tri hodnoty Z , Y a C a stlačte tlačidlo " Return " . Mali by ste vidieť toto :

>>> isolve ( 5 , 17 , 103 )

[ 721 , -206 ]

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené