結果
問題 | No.316 もっと刺激的なFizzBuzzをください |
ユーザー |
![]() |
提出日時 | 2018-10-27 23:10:57 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 33 ms / 1,000 ms |
コード長 | 710 bytes |
コンパイル時間 | 379 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-11-19 06:52:53 |
合計ジャッジ時間 | 2,967 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 33 |
ソースコード
n = int(input())a, b, c = [int(x) for x in input().split(' ')]def get_gcd(a, b):# ユークリッド互除法により最大公約数を求める。if a < b:a, b = b, aif a % b == 0:return belse:return get_gcd(b, a % b)def get_lcm(a, b):# 2数を掛けあわせ、最大公約数で割れば最小公倍数が求まる。lcm = a * b // get_gcd(a, b)return lcmcount_a = n // acount_b = n // bcount_c = n // ccount_ab = n // get_lcm(a, b)count_bc = n // get_lcm(b, c)count_ac = n // get_lcm(a, c)count_abc = n // get_lcm(get_lcm(a, b), get_lcm(b, c))print(count_a + count_b + count_c - count_ac - count_bc - count_ab + count_abc)