結果
| 問題 | No.316 もっと刺激的なFizzBuzzをください |
| コンテスト | |
| ユーザー |
sekihankamibanz
|
| 提出日時 | 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, a
if a % b == 0:
return b
else:
return get_gcd(b, a % b)
def get_lcm(a, b):
# 2数を掛けあわせ、最大公約数で割れば最小公倍数が求まる。
lcm = a * b // get_gcd(a, b)
return lcm
count_a = n // a
count_b = n // b
count_c = n // c
count_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)
sekihankamibanz