-----------------程式碼---------------
n = int(input()) #次數
for i in range(n):
coin1, coin2 = 0, 0 #硬幣種類數量
list1 = list(map(int, input().split())) #int輸入
if list1[2] > list1[1]: # 比硬幣大小
list1[1], list1[2] = list1[2], list1[1]
for j in range(list1[0] // list1[1], 0, -1):
#總額 除以 第一硬幣 到0停止 每次少1
if list1[0] - list1[1] * j == 0 :
# 第二硬幣為0時
continue
if (list1[0] - list1[1] * j) % list1[2] == 0:
# (總額 - 第一種幣 * 數量) 可以被 第二硬幣整除
coin1 = j
coin2 = (list1[0] - list1[1] * j) // list1[2]
break
if coin1 >= 1 and coin2 >= 1: #兩種都有時
print(coin1 + coin2)
else:
print(-1)
----------------------測試分隔線---------------------------
您的答案為: 25 正確答案為: 22
您的答案為: 25 正確答案為: 22
您的答案為: 25 正確答案為: 22
您的答案為: 25 正確答案為: 22
您的答案為: 25 正確答案為: 22
您的答案為: 25 正確答案為: 22
您的答案為: 25 正確答案為: 22
您的答案為: 25 正確答案為: 22
您的答案為: 25 正確答案為: 22
您的答案為: 25 正確答案為: 22
請問哪裡有問題?
-----------------程式碼---------------
n = int(input()) #次數
for i in range(n):
coin1, coin2 = 0, 0 #硬幣種類數量
list1 = list(map(int, input().split())) #int輸入
if list1[2] > list1[1]: # 比硬幣大小
list1[1], list1[2] = list1[2], list1[1]
for j in range(list1[0] // list1[1], 0, -1):
#總額 除以 第一硬幣 到0停止 每次少1
if list1[0] - list1[1] * j == 0 :
# 第二硬幣為0時
continue
if (list1[0] - list1[1] * j) % list1[2] == 0:
# (總額 - 第一種幣 * 數量) 可以被 第二硬幣整除
coin1 = j
coin2 = (list1[0] - list1[1] * j) // list1[2]
break
if coin1 >= 1 and coin2 >= 1: #兩種都有時
print(coin1 + coin2)
else:
print(-1)----------------------測試分隔線---------------------------
【查看詳細評分結果】
#0: 10% WA (line:6)
您的答案為: 25 正確答案為: 22#1: 10% WA (line:6)
您的答案為: 25 正確答案為: 22#2: 10% WA (line:6)
您的答案為: 25 正確答案為: 22#3: 10% WA (line:6)
您的答案為: 25 正確答案為: 22#4: 10% WA (line:6)
您的答案為: 25 正確答案為: 22#5: 10% WA (line:6)
您的答案為: 25 正確答案為: 22#6: 10% WA (line:6)
您的答案為: 25 正確答案為: 22#7: 10% WA (line:6)
您的答案為: 25 正確答案為: 22#8: 10% WA (line:6)
您的答案為: 25 正確答案為: 22#9: 10% WA (line:6)
您的答案為: 25 正確答案為: 22
請問哪裡有問題?
題目沒有說一定要兩種都是使用,其中一種即可。
例如 20 10 5,只要2(10*2) 不一定要3(10+5*2)