# 枚举法 --- 就是一个数一个数的试
# 算法的5大特性:
# 输入:算法具有0个或多个输入
# 输出:算法至少有一个或多个输出
# 有穷性:算法在有限的步骤后会自动结束而不会无限循环,并且每一步可以在接受的时间内完成。
# 确定性:算法中的每一步都有确定的含义,不会出现二义性
# 可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成。
#
# 时间复杂度
# 每台机器执行的总时间不同,但是执行的基本运算数量大体相同
# T(n)=N^3*k +c
# g(n)=n^3
# T(n)=g(n) g(n)就叫做T(n)的渐进函数
# 把提出来的g(n)叫做时间复杂度的大'o'表示法
# 什么是时间复杂度:T(n)就是时间复杂度
枚举的思想
import time
start_time = time.time()
for a in range(0,1000):
for b in range(0,1000):
for c in range(0,1000):
if a+b+c==1000 and a**2 + b**2 == c**2:
print('a,b,c:%d %d %d'%(a,b,c))
endtime = time.time()
print('times:%d'%(endtime-start_time))
print('finished')
# import time
# start_time = time.time()
# for a in range(0,1001):
# for b in range(0,1001):
# c = 1000 -a - b
# if a**2 + b**2 == c**2:
# print('a,b,c:%d %d %d'%(a,b,c))
# endtime = time.time()
# print('times:%d'%(endtime-start_time))
# print('finished')