最大公約数プログラムと返済年数のプログラム(Python)

以前コチラの記事で紹介した無料で学べるpythonテキストの中から、愛知大学の有澤先生が書かれたのを拝読させていただいている。

その中のP40「最大公約数」のプログラムと「返済にかかる年数」のプログラムを書いてみた。多分あってるけど間違ってたらコメント頂けると幸いです。

===最大公約数を求める===
とにかく割ってあまったらそれを新しく書き換え、0になるまでそれを続ける。0になったらその割った数が最大公約数。

def gcd(x,y):

while x%y!=0:

z=x%y
x=y
y=z
print y

===利子の問題===
考え方としては、与えられた数字が正ならカウンタ増やし、返済が残るなら上書き。

問題は支払額、返済額、利率共に決まっていたがそれらをすべて変数にしてみた。たぶんポイントは、利率をかけて返済後の金額をどう表すか、ということと、最後の返済額が固定額より小さい場合(例えば毎回200万返してるけど最後100万残ってるとか)の取扱。

「x円を利率y%で借りて一度にz円返すと?」という問題で書いてみた。

def loan (x,y,z):

count = 0

while x > 0:

count+=1

x=(1+y/100)*x - z

print count '回数

print (x+z)/(1+y/100) '最後の支払