100以内的勾股数python_Python实现获取前100组勾股数的方法示例

本文实例讲述了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程序设计有所帮助。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值