加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python实现获取前100组勾股数的方法示例

发布时间:2020-12-16 21:02:33 所属栏目:Python 来源:网络整理
导读:本篇章节讲解Python实现获取前100组勾股数的方法。供大家参考研究具体如下: 本来想采用穷举试探的方式来做这个算法,后来发现还是有点麻烦。从网络上找来了一种求解方法如下: 当a为大于1的奇数2n+1时,b=2n^2+2n,c=2n^2+2n+1。实际上就是把a的平

本篇章节讲解Python实现获取前100组勾股数的方法。分享给大家供大家参考,具体如下:

本来想采用穷举试探的方式来做这个算法,后来发现还是有点麻烦。从网络上找来了一种求解方法如下:

当a为大于1的奇数2n+1时,b=2n^2+2n,c=2n^2+2n+1。实际上就是把a的平方数拆成两个连续自然数。

编写代码如下:

#!/usr/bin/python
for n in range(1,101):
 a = 2 * n +1
 b = 2 * (n** 2) + 2 * n
 c = b + 1
 # check theresult
 if a ** 2 +b ** 2 == c ** 2:
  print("a= %d,b = %d,c = %d" %(a,b,c))

程序执行结果:

a = 3,b = 4,c = 5
a = 5,b = 12,c = 13
a = 7,b = 24,c = 25
a = 9,b = 40,c = 41
a = 11,b = 60,c = 61
a = 13,b = 84,c = 85
a = 15,b = 112,c = 113
a = 17,b = 144,c = 145
a = 19,b = 180,c = 181
a = 21,b = 220,c = 221
a = 23,b = 264,c = 265
a = 25,b = 312,c = 313
a = 27,b = 364,c = 365
a = 29,b = 420,c = 421
a = 31,b = 480,c = 481
a = 33,b = 544,c = 545
a = 35,b = 612,c = 613
a = 37,b = 684,c = 685
a = 39,b = 760,c = 761
a = 41,b = 840,c = 841
a = 43,b = 924,c = 925
a = 45,b = 1012,c = 1013
a = 47,b = 1104,c = 1105
a = 49,b = 1200,c = 1201
a = 51,b = 1300,c = 1301
a = 53,b = 1404,c = 1405
a = 55,b = 1512,c = 1513
a = 57,b = 1624,c = 1625
a = 59,b = 1740,c = 1741
a = 61,b = 1860,c = 1861
a = 63,b = 1984,c = 1985
a = 65,b = 2112,c = 2113
a = 67,b = 2244,c = 2245
a = 69,b = 2380,c = 2381
a = 71,b = 2520,c = 2521
a = 73,b = 2664,c = 2665
a = 75,b = 2812,c = 2813
a = 77,b = 2964,c = 2965
a = 79,b = 3120,c = 3121
a = 81,b = 3280,c = 3281
a = 83,b = 3444,c = 3445
a = 85,b = 3612,c = 3613
a = 87,b = 3784,c = 3785
a = 89,b = 3960,c = 3961
a = 91,b = 4140,c = 4141
a = 93,b = 4324,c = 4325
a = 95,b = 4512,c = 4513
a = 97,b = 4704,c = 4705
a = 99,b = 4900,c = 4901
a = 101,b = 5100,c = 5101
a = 103,b = 5304,c = 5305
a = 105,b = 5512,c = 5513
a = 107,b = 5724,c = 5725
a = 109,b = 5940,c = 5941
a = 111,b = 6160,c = 6161
a = 113,b = 6384,c = 6385
a = 115,b = 6612,c = 6613
a = 117,b = 6844,c = 6845
a = 119,b = 7080,c = 7081
a = 121,b = 7320,c = 7321
a = 123,b = 7564,c = 7565
a = 125,b = 7812,c = 7813
a = 127,b = 8064,c = 8065
a = 129,b = 8320,c = 8321
a = 131,b = 8580,c = 8581
a = 133,b = 8844,c = 8845
a = 135,b = 9112,c = 9113
a = 137,b = 9384,c = 9385
a = 139,b = 9660,c = 9661
a = 141,b = 9940,c = 9941
a = 143,b = 10224,c = 10225
a = 145,b = 10512,c = 10513
a = 147,b = 10804,c = 10805
a = 149,b = 11100,c = 11101
a = 151,b = 11400,c = 11401
a = 153,b = 11704,c = 11705
a = 155,b = 12012,c = 12013
a = 157,b = 12324,c = 12325
a = 159,b = 12640,c = 12641
a = 161,b = 12960,c = 12961
a = 163,b = 13284,c = 13285
a = 165,b = 13612,c = 13613
a = 167,b = 13944,c = 13945
a = 169,b = 14280,c = 14281
a = 171,b = 14620,c = 14621
a = 173,b = 14964,c = 14965
a = 175,b = 15312,c = 15313
a = 177,b = 15664,c = 15665
a = 179,b = 16020,c = 16021
a = 181,b = 16380,c = 16381
a = 183,b = 16744,c = 16745
a = 185,b = 17112,c = 17113
a = 187,b = 17484,c = 17485
a = 189,b = 17860,c = 17861
a = 191,b = 18240,c = 18241
a = 193,b = 18624,c = 18625
a = 195,b = 19012,c = 19013
a = 197,b = 19404,c = 19405
a = 199,b = 19800,c = 19801
a = 201,b = 20200,c = 20201

由于程序中加入了是否为勾股数的判断,因此这个清单应该是准确的。这个小题目求解下来,我自己的感觉是做事的方法中算法还是至关重要的!

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

您可能感兴趣的文章:

  • Python实现的求解最小公倍数算法示例
  • Python实现的求解最大公约数算法示例
  • Python基于辗转相除法求解最大公约数的方法示例
  • Python基于更相减损术实现求解最大公约数的方法
  • Python实现简单求解给定整数的质因数算法示例
  • python求解水仙花数的方法
  • 详解Python编程中基本的数学计算使用
  • 简单讲解Python中的数字类型及基本的数学计算
  • python中实现精确的浮点数运算详解
  • Python实现高效求解素数代码实例

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读