为了账号安全,请及时绑定邮箱和手机立即绑定

求个随机整数的 算法

求个随机整数的 算法

忽然笑 2019-02-26 20:25:10
从1到100的整数中随机10个,然后和为100的组合有哪些?
查看完整描述

2 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

如果是100个数里求10个和为100的数的组合,组合情况比较多,暴力不可取。

def get_combs(n=100, k=10, tg=100):
    combs = []
    x = tg - sum(range(1, k))    def dfs(comb, idx=0, k=k, t=tg):
        dmx = min(tg - sum(comb), x, n)
        arr = range(1, dmx + 1)        if t == 0 and k == 0:
            combs.append(comb[:])            return
        if dmx <= idx or k < 0 or t < 0:            return
        for i in range(idx, dmx):
            v = arr[i]
            dfs(comb + [v], i + 1, k - 1, t - v)

    dfs([])    return combs


查看完整回答
反对 回复 2019-02-26
  • 2 回答
  • 0 关注
  • 596 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信