次の Euclid アルゴリズムの実装を考えてみましょう。
function gcd(a, b)
while b ≠ 0
t := b
b := a mod b
a := t
return a
ウィキペディアの優れた証明は、アルゴリズムが「常に O(h) 未満の分割を必要とすることを示しています。ここで、h は小さい数 b の桁数です」。
ただし、チューリング マシンでは、a mod b を計算する手続きの時間計算量は O(a+b) です。私の直感といくつかの大規模なテストによると、ユークリッドのアルゴリズムの複雑さは、チューリング マシンではまだ O(a+b) です。
それを証明する方法について何か考えはありますか?