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


Posted in Python onMay 04, 2018

本文实例讲述了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的Django框架中显示对象子集的方法
Jul 21 Python
python编程实现希尔排序
Apr 13 Python
Python线性回归实战分析
Feb 01 Python
Redis使用watch完成秒杀抢购功能的代码
May 07 Python
python利用smtplib实现QQ邮箱发送邮件
May 20 Python
python自动化报告的输出用例详解
May 30 Python
深入理解python中sort()与sorted()的区别
Aug 29 Python
python3人脸识别的两种方法
Apr 25 Python
快速查找Python安装路径方法
Feb 06 Python
python中entry用法讲解
Dec 04 Python
Python脚本调试工具安装过程
Jan 11 Python
python析构函数用法及注意事项
Jun 22 Python
python XlsxWriter模块创建aexcel表格的实例讲解
May 03 #Python
Python 中的Selenium异常处理实例代码
May 03 #Python
Python读写/追加excel文件Demo分享
May 03 #Python
windows下安装Python的XlsxWriter模块方法
May 03 #Python
python使用openpyxl库修改excel表格数据方法
May 03 #Python
python实现跨excel的工作表sheet之间的复制方法
May 03 #Python
Python利用openpyxl库遍历Sheet的实例
May 03 #Python
You might like
PHP5.3.1 不再支持ISAPI
2010/01/08 PHP
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
PHP生成网站桌面快捷方式代码分享
2014/10/11 PHP
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
php经典算法集锦
2015/11/14 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
原生javascript实现图片轮播效果代码
2010/09/03 Javascript
jquery maxlength使用说明
2011/09/09 Javascript
jquery 页面滚动到指定DIV实现代码
2013/09/25 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
详解Vue-Cli 异步加载数据的一些注意点
2017/08/12 Javascript
WebStorm ES6 语法支持设置&babel使用及自动编译(详解)
2017/09/08 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
js设计模式之单例模式原理与用法详解
2019/08/15 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
Django实现分页功能
2018/07/02 Python
python实现对输入的密文加密
2019/03/20 Python
Python3实现的回文数判断及罗马数字转整数算法示例
2019/03/27 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
英国豪华装饰照明品牌的在线零售商:Inspyer Lighting
2019/12/10 全球购物
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
Linux的文件类型
2012/03/07 面试题
文员岗位职责
2013/11/09 职场文书
专业幼师实习生自我鉴定范文
2013/12/08 职场文书
大学活动策划书范文
2014/01/10 职场文书
会计学专业求职信
2014/07/17 职场文书
寻找最美家庭活动方案
2014/08/20 职场文书
党的作风建设心得体会
2014/10/22 职场文书
导游词之舟山普陀山
2019/11/06 职场文书