解答例_3_13

解答例:練習問題_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) を実行していることを示しています。

タイトルとURLをコピーしました