色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

瀏覽:148日期: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 編程
主站蜘蛛池模板: 国内精品免费一区二区观看 | 欧美另类精品一区二区三区 | 国产精品视频一区二区三区 | 纯欧美一级毛片免费 | 亚洲欧美精选 | 亚洲国内精品自在线影视 | 欧美视频一区二区三区四区 | 国产一级影片 | 欧美线在线精品观看视频 | 日本一区不卡视频 | 香港三级日本三级三级人妇 | 女人张开腿让男人插 | 一 级做人爱全视频在线看 一本不卡 | 精品国语_高清国语自产 | 色播亚洲| 国产精品亚洲一区二区三区久久 | 99r精品视频 | 亚洲天堂在线观看视频 | 性欧美视频a毛片在线播放 性欧美一级 | 免费va国产高清不卡大片 | 午夜免费69性视频爽爽爽 | 国产精品2020观看久久 | 九九精品免费视频 | 美女视频黄在线观看 | 欧美午夜精品久久久久免费视 | 成人18免费网站在线观看 | 一本久道在线 | 丁香狠狠色婷婷久久综合 | 欧美日本韩国一区 | 亚洲三级在线 | 2022年国产精品久久久久 | 久久久国产一区二区三区 | 毛片成人| 中文字幕一二区 | 窝窝女人体国产午夜视频 | 国产日韩欧美精品一区二区三区 | 亚洲国产精品综合欧美 | 91久久香蕉国产线看 | 日本美女高清在线观看免费 | 国产成人亚洲精品91专区高清 | 男女很舒服爽视频免费 |