标题:编程中list1的大小问题
只看楼主
财喜猫
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-7-27
结帖率:50%
已结贴  问题点数:10 回复次数:2 
编程中list1的大小问题
编了个小程序,两重循环,求list1,当n = 3,4,……,10时,均能算出,当n = 11时,算不出结果了,是数字大了?还是数字多了列表装不下?或者出现死循环?请帮忙看看!多谢!
程序如下:
n = int(input('n>=3?'));
kn = 0 ;
while 2**(n+kn) < 3**n :
    kn = kn + 1 ;

kn = kn - 1 ;

m = n + kn + 1 ;

mlist = [];
for i in range(0,n) :
    mlist.append(1);


list1 = [];
while mlist[0] < 1 + kn + 1 :
    mlist[n-1] = mlist[n-1] + 1 ;
    for i in range(1 , n ) :
        if mlist[n - i ] == 1 + kn + 1  :
           mlist[n - i ] = 1 ;
           mlist[n - i - 1] = mlist[n - i - 1] + 1 ;
        
        sumlist = 0;
        for j in range(0,n):
          sumlist = sumlist + mlist[j] ;
        
    if sumlist == m :      
       list1 = list1 + mlist ;  
print(list1);
      
搜索更多相关主题的帖子: 大小 编程 for while 数字 
2020-04-15 20:53
thhkb
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:25
专家分:107
注 册:2020-4-11
得分:10 
应该是数字太大了,要运行好久

潜水,灌水。
2020-04-16 00:37
财喜猫
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-7-27
得分:0 
回复 2楼 thhkb
你说的对,数字是挺大的,买了一个新电脑,算了一下,n=11时,要3万多秒出结果,
2020-05-26 16:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501068-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.292523 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved