A問題 Restaurant
1 2 3 4 |
n = int(input()) y = 200 * (n//15) x = 800 * n print(x-y) |
B問題 Training Camp
1 2 3 4 5 6 |
n = int(input()) ans = 1 for i in range(1,n+1): ans = ans * i % (10**9+7) print(ans) |
掛け算を全て行ってから最後に(10^9+7)で計算すると、大きな値となって計算時間がかかってしまうため、掛け算をする度に(10^9+7)で割り算した際の余りを求めることで、小さな値のまま計算するのが正解のようでした。
↓こちらでは制限時間内に計算が間に合いませんでした。
1 2 3 4 5 6 |
n = int(input()) ans = 1 for i in range(1,n+1): ans = ans * i print(ans%(10**9+7)) |
コメント