举重弓

我正在尝试选择最大的权重,以填充一个可以支持权重C的框。为此,我对权重V的列表进行了排序,我将其从n读取为0(索引),然后对于每个n,我想计算出不超过C的每个最大值。我用发现的每个等于C或n的最接近权重的最大值来填充表T。

谢谢您的帮助,我已经花了很多时间来编写代码,但我仍然迷失在最后,我想通过递归验证V [n]的总和是否太小高,我认为我的代码结尾没有考虑周全。

V=[1,2,3,4,5,6,7,8,9,10]
C = 9

def Vmax(V,n,C,T):
    if n ==-1:
        return(T)
    else:
        if C < V[n]:
            Vmax(V,n-1,T)
        else:
            if V[n]== C:
                T.append(V[n])
                Vmax(V,T)

# Troubles starts here     

            elif V[n] < C:
                for k in range(1,n):
                    if k - n == -2:
                        T.append(V[n])
                    if V[n] + Vmax(V,n-k,T) < C:
                        T.append(V[n] + Vmax(V,T))
                    else:
                        Vmax(V,T)

print(Vmax(V,len(V)-1,T))```
syiaeb7420 回答:举重弓

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3032504.html

大家都在问