一. 引入
先来看一道题:
如果a+b+c=1000, 且a2+b2=c^2(a,b,c为自然数),如何求出所有a,b,c可能的组合?
(1) 枚举法
import time
start_time = time.time()
for a in range(0,1001):
for b in range(0,1001):
for c in range(1,1001):
if a+b+c==1000 and a**2+b**2 == c**2:
print('a,b,c:%d,%d,%d'%(a,b,c))
end_time = time.time()
print('time:%d'%(end_time-start_time))
print('finished')
##基本步骤数量T = 1000*1000*1000*2
改进代码
import time
start_time = time.time()
for a in range(0,1001):
for b in range