想到枚举法 a=0~1000 b=0~1000 c=0~1000
最low 这边相当于迭代了3次 再加上一个判断和一个print操作 O(n^3*2)
for a in range(0,1001): for b in range(0,1001): for c in range(0,1001): if a+b+c==1000 and a**2 + b**2 == c**2: print('a,b,c:%d,%d,%d',(a,b,c))
相对好的 O((n^2)*3)
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))
觉得一个程序跑的速度一个是相对应的计算量的问题,也可能就机器配置的问题
大O表示法: 取一个渐近函数 把相应函数进行一个相应表述式 去掉旁支末节,就把最后的结果叫做大O表示的时间复杂度
顺序
循环
条件