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 相关文章推荐
Django admin实现图书管理系统菜鸟级教程完整实例
Dec 12 Python
Python读写docx文件的方法
May 08 Python
Python使用numpy模块创建数组操作示例
Jun 20 Python
Python实现基于PIL和tesseract的验证码识别功能示例
Jul 11 Python
Django数据库连接丢失问题的解决方法
Dec 29 Python
在python中实现强制关闭线程的示例
Jan 22 Python
使用python写的opencv实时监测和解析二维码和条形码
Aug 14 Python
python 实现从高分辨图像上抠取图像块
Jan 02 Python
Python3+selenium实现cookie免密登录的示例代码
Mar 18 Python
解决PyCharm无法使用lxml库的问题(图解)
Dec 22 Python
Python制作运行进度条的实现效果(代码运行不无聊)
Feb 24 Python
python glom模块的使用简介
Apr 13 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编程注意事项的小结
2013/04/27 PHP
yii实现创建验证码实例解析
2014/07/31 PHP
PHP实现的sqlite数据库连接类
2014/12/12 PHP
PHP+MYSQL实现用户的增删改查
2015/03/24 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
一个很酷的拖动层的js类,兼容IE及Firefox
2009/06/23 Javascript
JavaScript回调(callback)函数概念自我理解及示例
2013/07/04 Javascript
查找Oracle高消耗语句的方法
2014/03/22 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
2014/10/16 Javascript
javascript实现youku的视频代码自适应宽度
2015/05/25 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
微信小程序 侧滑删除(左滑删除)
2017/05/23 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
2019/04/08 Javascript
jQuery 查找元素操作实例小结
2019/10/02 jQuery
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
python3访问sina首页中文的处理方法
2014/02/24 Python
python进阶教程之异常处理
2014/08/30 Python
详解Python中的__getitem__方法与slice对象的切片操作
2016/06/27 Python
Python 类的继承实例详解
2017/03/25 Python
Python字符编码与函数的基本使用方法
2017/09/30 Python
python单例模式实例解析
2018/08/28 Python
python实现计算器功能
2019/10/31 Python
Python常用断言函数实例汇总
2020/11/30 Python
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
vivo智能手机官方商城:vivo
2016/09/22 全球购物
丝芙兰中国官方商城:SEPHORA中国
2018/01/10 全球购物
购买中国最好的电子产品:Geekbuying
2018/03/13 全球购物
装修协议书范本
2014/04/21 职场文书
我的梦中国梦演讲稿
2014/04/23 职场文书
办公室主任个人总结
2015/02/28 职场文书
2016情人节宣传语
2015/07/14 职场文书
请病假条范文
2015/08/17 职场文书
《草船借箭》教学反思
2016/02/23 职场文书
Python通用验证码识别OCR库ddddocr的安装使用教程
2022/07/07 Python