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 相关文章推荐
在Python3中使用asyncio库进行快速数据抓取的教程
Apr 02 Python
python使用PyGame绘制图像并保存为图片文件的方法
Apr 24 Python
用Python脚本来删除指定容量以上的文件的教程
May 04 Python
Java中重定向输出流实现用文件记录程序日志
Jun 12 Python
windows 下python+numpy安装实用教程
Dec 23 Python
python flask安装和命令详解
Apr 02 Python
pandas如何处理缺失值
Jul 31 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
Aug 09 Python
Python PyPDF2模块安装使用解析
Jan 19 Python
使用Python发现隐藏的wifi
Mar 04 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
May 25 Python
利用python 读写csv文件
Sep 10 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
CURL的学习和应用(附多线程实现)
2013/06/03 PHP
PHP获取表单所有复选框的值的方法
2014/08/28 PHP
php页面缓存方法小结
2015/01/10 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
2010/06/25 Javascript
简短几句 通俗解释javascript的闭包
2011/01/17 Javascript
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
2012/03/16 Javascript
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
node.js实现逐行读取文件内容的代码
2014/06/27 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
2015/03/06 Javascript
JS实现控制表格单元格垂直对齐的方法
2015/03/30 Javascript
JavaScript操作cookie类实例
2015/03/31 Javascript
javascript数字验证的实例代码(推荐)
2016/08/20 Javascript
jQuery异步提交表单的两种方式
2016/09/13 Javascript
JavaScript实现拖拽元素对齐到网格(每次移动固定距离)
2016/11/30 Javascript
React Native中导航组件react-navigation跨tab路由处理详解
2017/10/31 Javascript
js实现复制粘贴的两种方法
2020/12/04 Javascript
pygame学习笔记(6):完成一个简单的游戏
2015/04/15 Python
python snownlp情感分析简易demo(分享)
2017/06/04 Python
python编程羊车门问题代码示例
2017/10/25 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
对Python 多线程统计所有csv文件的行数方法详解
2019/02/12 Python
Python中if有多个条件处理方法
2020/02/26 Python
Python类的继承super相关原理解析
2020/10/22 Python
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
美国最大的网上冲印店:Shutterfly
2017/01/01 全球购物
瑞士图书网站:Weltbild.ch
2019/09/17 全球购物
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
写好自荐信的要点
2013/11/06 职场文书
副总经理工作职责
2013/11/28 职场文书
电脑教师的自我评价
2013/12/18 职场文书
田径运动会通讯稿
2014/09/13 职场文书
2014年数学教师工作总结
2014/12/03 职场文书
Vue项目打包、合并及压缩优化网页响应速度
2021/07/07 Vue.js
Redis 限流器
2022/05/15 Redis