亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:133日期: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)元素可重複使用

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

以下是暴力法:

# 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 編程
主站蜘蛛池模板: 5c5c5c精品视频在线观看 | 国内精品久久久久激情影院 | 欧美日韩一区二区三区色综合 | 亚洲免费一级视频 | 免费久久一级欧美特大黄 | 国产码欧美日韩高清综合一区 | 国产经典一区 | 1024在线视频精品免费 | 日韩成人黄色 | 欧美aaaa在线观看视频免费 | 国产无遮挡又爽又色又刺激 | 中国一级黄色影片 | 三级黄毛片 | 污污网站免费入口链接 | 4388免费特色视频 | 日韩黄色小视频 | 91免费公开视频 | 国产限制级在线 | 善良的翁熄日本在线观看 | 欧美精品亚洲精品日韩经典 | 一级做a爰片久久毛片图片 一级做a爰片久久毛片看看 | 在线中文字幕视频 | 中文字幕日韩一区二区 | 在线免费看a爱片 | 日本成a人片在线观看网址 日本成人一区二区 | 欧美日韩一区二区三 | 香港三级理论在线观看网站 | 欧美日本一道免费一区三区 | 久久精品久久久久久久久人 | 看全色黄大色黄大片色责看的 | 欧美一级亚洲一级 | 日本高清色本免费现在观看 | 国产视频一区二区在线观看 | 一区二区不卡视频 | 午夜在线社区视频 | avtt加勒比手机版天堂网 | 亚洲黄色片视频 | 亚州精品一区二区三区 | 国产成人1024精品免费 | 亚洲最新黄色网址 | 日本美女黄视频 |