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实现的一只从百度开始不断搜索的小爬虫
Aug 13 Python
Python中使用urllib2防止302跳转的代码例子
Jul 07 Python
使用python开发vim插件及心得分享
Nov 04 Python
python多线程操作实例
Nov 21 Python
Python 元类实例解析
Apr 04 Python
python之Flask实现简单登录功能的示例代码
Dec 24 Python
pycharm new project变成灰色的解决方法
Jun 27 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
Python facenet进行人脸识别测试过程解析
Aug 16 Python
TensorFlow实现checkpoint文件转换为pb文件
Feb 10 Python
详解PyQt5信号与槽的几种高级玩法
Mar 24 Python
基于python定位棋子位置及识别棋子颜色
Jul 26 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
php中常用字符串处理代码片段整理
2011/11/07 PHP
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
php中二分法查找算法实例分析
2016/09/22 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
网站被黑的假象--ARP欺骗之页面中加入一段js
2007/05/16 Javascript
JQuery开发的数独游戏代码
2010/10/29 Javascript
自动刷新网页,自动刷新当前页面,JS调用
2013/06/24 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
2016/08/23 Javascript
学习vue.js计算属性
2016/12/03 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
2017/03/06 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
js实现简单页面全屏
2019/09/17 Javascript
Node.JS获取GET,POST数据之queryString模块使用方法详解
2020/02/06 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
Python读取表格类型文件代码实例
2020/02/17 Python
python实现拼图小游戏
2020/02/22 Python
使用HTML和CSS实现的标签云效果(附demo)
2021/02/03 HTML / CSS
Perfumetrader荷兰:香水、化妆品和护肤品在线商店
2017/09/15 全球购物
美国汽车零部件和配件网站:CarParts
2019/03/13 全球购物
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
计算 s=(x*y)1/2,用两个宏定义来实现
2016/08/11 面试题
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
如果Session Bean得Remove方法一直都不被调用会怎么样
2012/07/14 面试题
高校生生产实习自我鉴定
2013/09/21 职场文书
医学护理系毕业生求职信
2013/10/01 职场文书
销售经理竞聘书
2014/03/31 职场文书
家长会欢迎标语
2014/06/24 职场文书
童年读书笔记
2015/06/26 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书