算法引入

@ 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
执行结束

'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值