騰訊 硬幣面值組合問題

2021-09-17 01:25:09 字數 584 閱讀 6652

題目描述

有n種不同面值的硬幣,每種面值的硬幣都有無限多個。為了方便攜帶,希望帶盡量少的硬幣,並且要能組合出1到m之間(包括1和m)的所有面值。

輸入第一行包含兩個整數m, n,含義如題目所述。第二行包含n個整數,第i個整數表示第i種硬幣的面值。

輸出輸出乙個整數,表示最少需要攜帶的硬幣數量。如果無解,則輸出-1。

示例輸入:

20 4

1 2 5 10

輸出:5

python解:

operator=list(map(int,input().split()))

m=operator[0] #最大面值

n=operator[1] #硬幣種類

arr=list(map(int,input().split()))

arr=sorted(arr)

if arr[0]!=1:

print(-1)

num=p=res=0

while numwhile p+1p=p+1

num+=arr[p]

res+=1

print(res)

7621 硬幣面值組合

描述 使用1角 2角 5角硬幣組成 n 角錢。設1角 2角 5角的硬幣各用了a b c個,列出所有可能的a,b,c組合。輸出順序為 先按c的值從小到大,若c相同則按b的值從小到大。輸入乙個整數n 1 n 100 代表需要組成的錢的角數。輸出輸出有若干行,每行的形式為 i a b c 第1列i代表當前...

python面值組合 題目1 硬幣面值組合

問題描述 評測題目 給定 m 種面值的硬幣,每種面值的硬幣有無限多個,它們的面值分別為c c 0 c 1 c m 1 現用這些面值的硬幣湊齊 n 元,求有多少種方法。如 n 3,m 4,c 8,3,1,2 則有 3 種方法,分別為 問題分析 給定乙個金額n,假設有m種面值的硬幣c c 0 c 1 c...

硬幣面值組合(上台階)

假設我們有8種不同面值的硬幣 1,2,5,10,20,50,100,200 用這些硬幣組合夠成乙個給定的數值n。問總過有多少種可能的組合方式?類似的題目還有 華為面試題 1分2分5分的硬幣三種,組合成1角,共有多少種組合 創新工廠筆試題 有1分,2分,5分,10分四種硬幣,每種硬幣數量無限,給定n分...