python经典练习题:当a+b+c=1000且a**2+b**2=c**2,求a、b、c

import time
start_time = time.time()
for a in range(501): # 因为极限条件下a=c且a+c=1000,所以a的范围为0~500
    for b in range(a,1001-a): # 因为极限条件且不知道c的大小时a+b=1000,可以仍未b的范围为0~1000-a,因为a**2+b**2=c**2为勾股定理,所以存在a、b值互换的情况,所以可以认为b的起始范围为a
        c = 1000-a-b
        if a ** 2 + b ** 2 == c**2:
            print(a,b,c)
            a,b = b,a # 因为a**2+b**2=c**2为勾股定理,所以存在a、b值互换的情况,减少迭代循环的次数
            print(a,b,c)
            break # 因为a**2+b**2=c**2为勾股定理,易知a的值确定时,b、c的值唯一,所以打断循环,减少迭代次数
print(time.time()-start_time)

相关推荐

  1. ABC210(A-C)

    2023-12-09 23:58:01       31 阅读
  2. ABC336(A-C)

    2023-12-09 23:58:01       41 阅读
  3. ABC337(A-C)

    2023-12-09 23:58:01       33 阅读
  4. abc339(A-C)

    2023-12-09 23:58:01       38 阅读
  5. ABC339(A-C)

    2023-12-09 23:58:01       28 阅读
  6. ABC340(A-C)

    2023-12-09 23:58:01       28 阅读
  7. Codeforces Round 941 (Div. 2) ABC

    2023-12-09 23:58:01       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-09 23:58:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-09 23:58:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-09 23:58:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-09 23:58:01       20 阅读

热门阅读

  1. 有限元分析-强度理论

    2023-12-09 23:58:01       37 阅读
  2. 网络函数和文件管理函数

    2023-12-09 23:58:01       30 阅读
  3. 连通分量提取

    2023-12-09 23:58:01       40 阅读
  4. chmod 在Linux原生应用开发过程中的简单应用

    2023-12-09 23:58:01       34 阅读
  5. uniapp 开发app项目步骤

    2023-12-09 23:58:01       32 阅读