0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

atcoder練習(2024.11.15)

Posted at

キーワード

for

問題

あなたは、
500 円玉を
A 枚、
100 円玉を
B 枚、
50 円玉を
C 枚持っています。 これらの硬貨の中から何枚かを選び、合計金額をちょうど
X 円にする方法は何通りありますか。

同じ種類の硬貨どうしは区別できません。2 通りの硬貨の選び方は、ある種類の硬貨についてその硬貨を選ぶ枚数が異なるとき区別されます。

制約
0≤A,B,C≤50
A+B+C≥1
50≤X≤20,000
A,B,C は整数である
X は
50 の倍数である
入力
入力は以下の形式で標準入力から与えられる。

A
B
C
X
出力
硬貨を選ぶ方法の個数を出力せよ。

入力例 1
Copy
2
2
2
100
出力例 1
Copy
2
条件を満たす選び方は以下の
2 通りです。

500 円玉を
0 枚、
100 円玉を
1 枚、
50 円玉を
0 枚選ぶ。
500 円玉を
0 枚、
100 円玉を
0 枚、
50 円玉を
2 枚選ぶ。
入力例 2
Copy
5
1
0
150
出力例 2
Copy
0
合計金額をちょうど
X 円にする必要があることに注意してください。

入力例 3
Copy
30
40
50
6000
出力例 3
Copy
213

回答

A = int(input()) #500円
B = int(input()) #100円
C = int(input()) #50円
X = int(input())

answer = 0

for c in range(C+1):
  for b in range(B+1):
    for a in range(A+1):
      if X == a*500 + b*100 + c*50:
        answer += 1

print(answer)

参考

備考

  • ゴリ押しもゴリ押し、もう少し頭良さげに解きたい。
  • まぁでも動いたのならよし!
  • とりあえず書いてみるの大事
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?