猿问

求个随机整数的 算法

从1到100的整数中随机10个,然后和为100的组合有哪些?

慕容3067478
浏览 643回答 2
2回答

aluckdog

#&nbsp;coding:&nbsp;utf-8import&nbsp;randomdef&nbsp;combinationSum2(candidates,&nbsp;target): &nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;=&nbsp;[] &nbsp;&nbsp;&nbsp;&nbsp;can&nbsp;=&nbsp;sorted(candidates)&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;dfs(comb,&nbsp;s,&nbsp;i): &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;i&nbsp;<&nbsp;len(can):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;can[i]&nbsp;+&nbsp;s&nbsp;>&nbsp;target:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif&nbsp;can[i]&nbsp;+&nbsp;s&nbsp;==&nbsp;target:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(comb&nbsp;+&nbsp;[can[i]])&nbsp;not&nbsp;in&nbsp;res: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res.append(comb&nbsp;+&nbsp;[can[i]])&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dfs(comb&nbsp;+&nbsp;[can[i]],&nbsp;s&nbsp;+&nbsp;can[i],&nbsp;i&nbsp;+&nbsp;1) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;+=&nbsp;1 &nbsp;&nbsp;&nbsp;&nbsp;dfs([],&nbsp;0,&nbsp;0)&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;res#从1-100之间随机10个数lst&nbsp;=&nbsp;random.sample(range(1,&nbsp;101),&nbsp;10)#找出随机数和为100的组合print&nbsp;combinationSum2(lst,&nbsp;100)
随时随地看视频慕课网APP

相关分类

Python
我要回答