python求100内的勾股数_Python实现获取前100组勾股数的方法

这篇文章主要介绍了Python实现获取前100组勾股数的方法,涉及Python数值计算与判断相关操作技巧,需要的朋友可以参考下

本文实例讲述了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实现的求解最大公约数算法示例

基于matplotlib Python实现正弦信号的时域波形和频谱图示例

以上就是Python实现获取前100组勾股数的方法的详细内容,更多请关注Gxl网其它相关文章!

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值