合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
## 题: **如果a+b+c=1000,且a^2+b^2=c^2(a,b,c为自然数),如何求出a、b、c可能的组合?** 枚举法: ``` import time start_time = time.time() 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)) end_time = time.time() print("time:%0.2f" % (end_time-start_time)) ``` 优化 ``` 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)) end_time = time.time() print("time:%0.2f" % (end_time-start_time)) ```