解答例:練習問題_3_13(最大公約数① 単純な割り算)
import time
a, b = 46670393, 29699341
t_start = time.time()
counter = 0
for i in range(1, min(a, b) + 1):
counter += 1
if (a%i == 0) and (b%i == 0):
g = i
print('g:', g)
print('run time:', time.time() - t_start, '秒')
print('counter: ', counter)
g: 4242763
run time: 2.3955137729644775 秒
counter: 29699341
gが一致していればOKです。
カウンター(counter)の回数は、単純に min(a, b) = 29699341 回の (a%i == 0) and (b%i == 0) を実行していることを示しています。