国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

算法 - python 給定一個正整數(shù)a和一個包含任意個正整數(shù)的 列表 b,求所有<=a 的加法組合

瀏覽:108日期:2022-08-19 08:44:47

問題描述

例如,10,[1,2,3]

輸出類似:1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 12 + 2 + 2 +2 + 23 + 3 + 3 + 23 + 2 + 2 + 2 + 1

注意:是小于等于,list 內(nèi)的正整數(shù)有可能并不能正好等于 a.

問題解答

回答1:

通過itertools.combinations_with_replacement我們寫短一點的代碼:

def solve2(lst, bound): max_length = bound // min(lst) for n in range(1, max_length+1):for c in itertools.combinations_with_replacement(lst,n): if sum(c) <= bound:print(’+’.join(map(str, c))) solve2([1,2,3], 10)回答2:

假設(shè)該問題符合下列假設(shè):

列表內(nèi)元素可重複使用

只要是能滿足小於等於上限值的組合都可接受, 就算遠(yuǎn)小於上限值甚至是零也可以

以下是暴力法:

# code for python3from itertools import combinationsdef solve(lst, upperbound): candidates = [] for n in lst:for count in range(upperbound//n): candidates.append(n) allcomb = set() for l in range(1, len(candidates)+1):for comb in combinations(candidates, l): if not comb in allcomb:allcomb.add(comb)if sum(comb) <= upperbound: print(’+’.join([str(n)for n in comb]))solve([1,2,3], 10)

我回答過的問題: Python-QA

標(biāo)簽: Python 編程
主站蜘蛛池模板: 欧美大片欧美毛片大片 | 日本一级高清不卡视频在线 | 天天躁夜夜躁狠狠躁2024 | 国产精品国产自线在线观看 | 一级毛片免费观看视频 | 男人使劲躁女人视频小v | 国产不卡在线观看视频 | 女人被男人桶 | 一级毛片在线观看视频 | 欧美黑大粗硬毛片视频 | 青青操网站 | 日本特黄a级高清免费酷网 日本特黄特色 | 毛片免费网址 | 日韩美女在线看免费观看 | 亚洲自拍中文 | 日本三级香港三级网站 | 91福利国产在线观看香蕉 | 久久久999国产精品 久久久99精品免费观看 | 手机看片国产 | 亚洲国产成人精品91久久久 | 99在线国产视频 | 午夜欧美日韩在线视频播放 | 国产精品秦先生手机在线 | 日韩欧美亚洲综合久久99e | 大片刺激免费播放视频 | 精品一区二区视频 | 久久久国产精品网站 | 免费观看三级毛片 | 亚洲国产精品影院 | 欧美激情久久久久久久大片 | 91久久国产精品 | 国内久久久久影院精品 | 欧美成人看片一区二区三区 | 美女让我桶 | 亚洲系列国产系列 | 亚洲 欧美 日韩 丝袜 另类 | 97视频在线免费 | 激情一区二区三区成人 | 久久久久久久性高清毛片 | 成年美女黄网站小视频 | 国产美女毛片 |