from time import time as Now
t = Now()
sum=0
for i in range(0,1027):
if (i % 100 == 0):
print("i = ", i)
for j in range(i+1,1028):
for k in range(j+1,1029):
#for l in range(k+1,1029):
sum= sum+1
print("sum = ",sum)#三重循环的次数是 sum = 181062154,用时 15.6秒。 四个数的循环次数是 sum = 46442442501 = C(10269,4),耗时一个小时
print(f"np:{Now()-t}")
这段代码,三重循环的次数,就是C(1029,3) 组合数。四重循环的次数,就是C(1029,4)。三重循环用时15.6秒,四重循环要一个多小时。五重循环的话,要C(1029,5)/C(1029,4)=200+,难道我就统计一下循环执行的次数,要200多个小时吗?有没有可以改进的方法啊?我还要做其他运算呢。谢谢
就跑一下这个程序,cpu根本没用满,才50%不到。如何让cpu满负荷工作啊?
--
修改:feng321 FROM 120.242.253.*
FROM 120.242.253.*