美文网首页
2018-08-27

2018-08-27

作者: 木马音响积木 | 来源:发表于2018-08-27 23:48 被阅读0次

    今天,看了一数学题
    从1到9中取8个不重复的数,
    使得 sum = a/b X(c+d)- (e X f) -g +h 最大 ,
    其中字母代表 那8个数,X大写的,表示乘法。

    我写了个几行代码

    import random
    lll=[n for n in range(1,10)]
    allsum=big=1.0
    t1=t2=t3=[]
    t1=lll[:]
    mm=lk=99999
    while lk>0:
        for i in range(1,9):
            mm= random.randint(0,9-i)
            t2.append(t1.pop(mm))
        #print(t2)
        allsum =(t2[0]/float(t2[1]))*(t2[2]+t2[3]) +t2[4]-t2[5]-(t2[6]*t2[7])
        if allsum>big:
            big=allsum
            print(big)
            t3.append(t2)
        t2=[]
        t1=lll[:]
        lk-=1
    print(t3[-1])
    

    算了出来,因为书有答案。

    44.0
    64.0
    118.0
    120.0
    128.0
    130.0
    131.0
    [9, 1, 8, 7, 6, 4, 2, 3]
    
    $python main.py
    6.2
    25.0
    31.5
    44.0
    113.0
    124.0
    130.0
    131.0
    [9, 1, 8, 7, 6, 4, 3, 2]
    

    谁能直接推到出答案,从数学方面,请指教,
    我这是使用了计算机暴力。注意lk的大小

    相关文章

      网友评论

          本文标题:2018-08-27

          本文链接:https://www.haomeiwen.com/subject/weuxwftx.html