@ Time : 2020/10/26 13:18
@ Author : Ellen
‘’’
条件:a^2 + b^2 = c^2 a + b + c = 1000
思路:枚举法
a = 0
c = 0
c = 1~1000
‘’’
“”"
算法的五大特性
输入:算法具有0个多个输入
输出:算法至少有1个或多个输出
有穷性:算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以
在可接受的时间内完成
确定性:算法中的每一步都有确定的含义,不会出现二义性
可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成
“”"
import time
stime = 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))
etime = time.time()
print(etime-stime)
# 执行次数:1000*1000*1000
print('执行结束')
# 执行结果:143.99694776535034
第二次尝试
import time
stime = time.time()
for a in range(0, 1001):
for b in range(0, 1001):
c = 1000 - a -b
# for c in range(0, 1001):
if a ** 2 + b ** 2 == c **2:
print('a, b, c: %d, %d, %d' % (a, b, c))
etime = time.time()
print(etime-stime)
# 执行次数:1000*1000*1000
print('执行结束')
'''
执行结果:
a, b, c: 0, 500, 500
a, b, c: 200, 375, 425
a, b, c: 375, 200, 425
a, b, c: 500, 0, 500
1.0460774898529053
执行结束
'''