2つの数値のGCFに対するユークリッドの互除法は次のとおりGCF(a, b)=GCF(b, a mod b)
です。私はこれがPythonで次のように実装されているのを見てきました:
def gcf(a, b):
return b and gcf(b, a%b) or a
この関数を解析する方法、具体的にはブール論理を整数に適用する方法がわかりません。たとえば、gcf(42, 56) = 14
。それを見ていくと、最終的に再帰部分がゼロを返すことがわかります。0 or n == n
私はそれに従います0 and n == 0
。ただし、ゼロ以外の整数のペアを比較したり、ロジックを使用したりすると、何が発生し、その理由がわかりません。
誰かが私にこの機能を教えてもらえますか?