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设计模式之观察者模式实例
Apr 26 Python
Python编程中的反模式实例分析
Dec 08 Python
详解Python中的Descriptor描述符类
Jun 14 Python
Python实现定时任务
Feb 08 Python
利用Pandas 创建空的DataFrame方法
Apr 08 Python
PyQt5实现从主窗口打开子窗口的方法
Jun 19 Python
Python PO设计模式的具体使用
Aug 16 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
Jan 03 Python
python使用openpyxl操作excel的方法步骤
May 28 Python
python中导入 train_test_split提示错误的解决
Jun 19 Python
Python用K-means聚类算法进行客户分群的实现
Aug 23 Python
通过python-pptx模块操作ppt文件的方法
Dec 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 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
php简单获取文件扩展名的方法
2015/03/24 PHP
php 生成签名及验证签名详解
2016/10/26 PHP
PHP重置数组为连续数字索引的几种方式总结
2018/03/12 PHP
php和redis实现秒杀活动的流程
2019/07/17 PHP
php命令行模式代码实例详解
2021/02/26 PHP
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
jQuery点击后一组图片左右滑动的实现代码
2012/08/16 Javascript
JavaScript执行效率与性能提升方案
2012/12/21 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
jQuery页面图片伴随滚动条逐渐显示的小例子
2013/03/21 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
2014/01/27 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
Vue filters过滤器的使用方法
2017/07/14 Javascript
checkbox:click事件触发span元素内容改变的方法
2017/09/11 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
2018/11/06 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
Python全局变量操作详解
2015/04/14 Python
用Python设计一个经典小游戏
2017/05/15 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
python实现按长宽比缩放图片
2018/06/07 Python
Python面向对象之继承和组合用法实例分析
2018/08/27 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
浅谈html5增强的页面元素
2016/06/14 HTML / CSS
英国剑桥包官网:The Cambridge Satchel Company
2016/08/01 全球购物
经济学人订阅:The Economist
2018/07/19 全球购物
银行求职信个人范文
2013/12/16 职场文书
会计专业个人求职信范文
2014/01/08 职场文书
保护环境倡议书300字
2014/05/19 职场文书
新闻发布会活动策划方案
2014/09/15 职场文书
社区个人对照检查材料(群众路线)
2014/09/26 职场文书
MySQL中的引号和反引号的区别与用法详解
2021/10/24 MySQL
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python