有1元、5元、10元、50元、100元、500元的硬幣各若干枚,用乙個六元陣列c表示。現在要用這些硬幣來支付k元,最少需要多少枚硬幣?
兩行,第一行六個數,空格隔開,表示硬幣的數量;第二行乙個數k,表示目標值。
最少需要的硬幣枚數,如果無法湊成,輸出0。
其餘要求同首題。
v,c,k=[1
,5,10
,50,100
,500],
list
(map
(int
,input()
.split())
),int(
input()
)def
main
(k,i=
5,ans=0)
:return ans if i==-1
else main(k-
min(k//v[i]
,c[i]
)*v[i]
,i-1
,ans+
min(k//v[i]
,c[i]))
print
(main(k)
)'''
ans=0
for i in range(5,-1,-1):
while c[i]>0 and k>=v[i]:
k-=v[i]
c[i]-=1
ans+=1
print(ans)
'''
Python 「最短」挑戰(12 19)
有乙個長為n的數列a。請求出這個序列中最長的上公升序列的長度。上公升序列指的是對於任意的i,j都滿足a i 兩行,第一行乙個數n,表示數列長度 第二行n個數,空格隔開,表示數列裡的數。最長上公升序列長度。其餘要求同首題。n,a int input list map int input split p...
Python 「最短」挑戰(12 20)
有n項工作,每項工作分別在s i 時間開始,在t i 時間結束。對於每項工作,你都可以選擇參與與否。如果選擇了參與,那麼自始至終都必須全程參與。此外,參與工作的時間段不能重疊 即使是開始的瞬間和結束的瞬間的重疊也是不允許的 求最多能參與多少項工作。比如,當n 5,s 1,2,4,6,8 t 3,5,...
Python 「最短」挑戰(12 21)
有一種特殊的蜜蜂,每一年乙隻雌蜂生乙隻雄蜂,乙隻雄蜂生乙隻雌蜂和雄蜂,然後這兩隻蜜蜂就會死去。現在出現了乙隻神奇的雌蜂,它每年都可以生乙隻雄蜂而且不會死去。請你求出,在只有這乙隻雌蜂的初始情況下,過了n年以後雌蜂和雄蜂各有多少。例如,n等於3的時候,有3只雌蜂4只雄蜂。每一行都有乙個數n 0 如果n...