100AC - ABC070C: Multiple Clocks
ABC070-C (300 points)
問題
それぞれ 秒で針が 回転する 台の時計がある.
全ての時計の針が真上を向いている状態からスタートして, 次に全ての時計の針が真上を向くのは何秒後か.
- 入力は全て整数
- 答えは 秒以内
方針
- 最小公倍数を求めるのみ.
- ググるとたくさん実装が出てくる.
- math.gcd を使おうとするとAttributeErrorが出たので(なんで?), gcdも実装する.
from functools import reduce # input N = int(input()) T = [int(input()) for _ in range(N)] def gcd(x, y): while y: x, y = y, x % y return x def lcm_base(x, y): return (x * y) // gcd(x, y) def lcm_list(numbers_list): return reduce(lcm_base, numbers_list, 1) print(lcm_list(T))