输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果
输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1
20
3
import sys N=int(input()) res={} for i in range(0,17): for j in range(0,13): a=i*6+j*8 if(1<=a<=100): if(a)in res.keys():res[a]=min(res[a],i+j) else:res[a]=i+j if N in res.keys():print(res[N]) else:print(-1)
n = int(input()) dp = [float('inf')] * (n+1) if n+1 > 6: dp[6] = 1 if n+1 > 8: dp[8] = 1 for i in range(n+1): if i + 6 <= n: if dp[i+6] > dp[i] + 1: dp[i + 6] = dp[i] + 1 if i + 8 <= n: if dp[i + 8] > dp[i] + 1: dp[i + 8] = dp[i] + 1 print(dp[n] if dp[n] != float('inf') else -1)
#SB系统,TM一直以为不需要输入 def coinChange(coins, amount):
if __name__ == "__main__": a = raw_input() a = int(a) min_ = 100 times = 0 for i in range(a / 8 + 1): rest = a - i * 8 if(rest % 6 == 0): times = i + rest /6 min_ = min(times,min_) if min_ == 100: print -1 else: print min_稍做分析发现 6 和 8比较特殊,大于10的偶数都能够满足要求