はじめに
先日、大学入試の問題を解いていた時に実装したコードの備忘録です。
ユークリッドの互除法に関する入試問題の解を確認できます。
Python3環境下にて、是非お使いください。
本編
python
#sympy内の関数を使用
from sympy import *
#変数x,yの定義と定数a,b,cの入力
x = Symbol('x')
y = Symbol('y')
a,b,c = map(int,input("a,b,c=??").split())
#方程式の定義
expr1 = a*x+b*y -c
#xを求める
expr2 = a*x % b -c%b
i = 0
while expr2.subs(x,i) !=0:
expr2.subs(x,i)
i += 1
#求めたxの値を代入し、yを求める
expr1 = expr1.subs(x,i)
sol = solve(expr1,y)
#出力
print("x="+str(i))
print("y="+str(sol[0]))
使い方
▶a,b,cは半角スペースで区切り、入力してください。
▶外部ライブラリにつき、予めインストールを要します。(以下、入力例)
bash/zsh
conda install sympy #エラーが起これば、下のコマンドを実行してください。
pip install sympy
留意点
- a≠0、b≠0で入力をお願いいたします。
- 試用していただいた@StrawBerryMoonさんに対し、この場を借りて感謝申し上げます。
不定方程式につき(x,y)が複数組存在することがあります。
あくまで入試問題の検算用に留めていただけると幸いです。
References
More Info
- About Sympy:https://www.sympy.org/en/index.html
- About How to Use Sympy: https://note.nkmk.me/python-sympy-factorization-solve-equation/
About me
- SNS landing page(lit.link): https://lit.link/myon123
- GitHub: https://github.com/myon-bioinformatics
- Qiita: https://qiita.com/myon-bioinformatics
- Twitter(仕事用): https://twitter.com/myonitbusiness
- Twitter(プライベート用): https://twitter.com/myonmusicpgdev
- tumblr: https://www.tumblr.com/myon-helloworld
- Reddit: https://www.reddit.com/user/myon_reddit
- Pixiv: https://www.pixiv.net/users/87109499
- YouTube(Composer): https://www.youtube.com/channel/UC22_pvlkQynYsrSpAfyzEzA
- SpeakerDeck: https://speakerdeck.com/myon_bioinformatics
- マシュマロ(質問箱): https://marshmallow-qa.com/myonitbusiness
- ブログ(だんぷるどくみる):https://dumple-docmil.com/
- LINE: https://line.me/R/ti/p/@661cphit
- Microsoft TechNet: https://social.msdn.microsoft.com/Profile/myon.TechNet
- プロフカード: https://profcard.info/u/ziUhwgZihSSTLZdqPZ0gz5aru6A3
- ニコニコ動画(niconico): https://www.nicovideo.jp/user/126513036
- Wish List: https://www.amazon.co.jp/hz/wishlist/ls/290EJPJ3PAS73?ref_=wl_share
- 転職ドラフト: https://job-draft.jp/users/58541
- RESUME.id: https://www.resume.id/myon
- Wantedly: https://www.wantedly.com/id/myon123
- Mastodon: https://mstdn.social/@myon
- mixi: https://mixi.jp/show_profile.pl?id=68...
- Instagram: https://www.instagram.com/myonmusicpgdev
- Pinterest: https://www.pinterest.jp/myonmusicpgdev
- Forkwell: https://portfolio.forkwell.com/@myon