ユークリッド互除法

宣言どおり始めてみよう。とりあえず基本からやるってことで、ユークリッド互除法を書いてみる。うろ覚えで書いてみると、こんな感じ?

def euclid(x,y):
if x == y:
return x
else:
if x > y:
return euclid(x - y,y)
else:
return euclid(y,x)

結果は合っているようだが、見た目がイマイチ?Wikipedia見てみたら、そのまんまPythonの例が出てた。

def gcd(m,n):
while n != 0:
t = m%n
m = n
n = t
return abs(m)

美しいです。