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中使用百度音乐搜索的api下载指定歌曲的lrc歌词
Jul 18 Python
详解Python中的文本处理
Apr 11 Python
解析Python中的__getitem__专有方法
Jun 27 Python
Python实现图片转字符画的示例
Aug 22 Python
用python结合jieba和wordcloud实现词云效果
Sep 05 Python
python3操作微信itchat实现发送图片
Feb 24 Python
python生成不重复随机数和对list乱序的解决方法
Apr 09 Python
Kali Linux安装ipython2 和 ipython3的方法
Jul 11 Python
python关于变量名的基础知识点
Mar 03 Python
使用python实现学生信息管理系统
Feb 25 Python
python基础之文件处理知识总结
May 23 Python
Python selenium模拟网页点击爬虫交管12123违章数据
May 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
点评山进PR-D3L三波段收音机
2021/03/02 无线电
php数据库备份还原类分享
2014/03/20 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
PHP合并静态文件详解
2014/11/14 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
2016/07/07 PHP
javascript中的几个运算符
2007/06/29 Javascript
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
原生js实现半透明遮罩层效果具体代码
2013/06/06 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
JS+Canvas绘制时钟效果
2020/08/20 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
js实现城市级联菜单的2种方法
2017/06/23 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
Python中datetime常用时间处理方法
2015/06/15 Python
python3学习笔记之多进程分布式小例子
2018/02/13 Python
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
python多任务及返回值的处理方法
2019/01/22 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
python处理excel绘制雷达图
2019/10/18 Python
HTML5拍照和摄像机功能实战详解
2019/01/24 HTML / CSS
医生自荐信
2013/10/11 职场文书
展会邀请函范文
2014/01/26 职场文书
应届生求职自荐信范文
2014/04/07 职场文书
青年文明号口号
2014/06/17 职场文书
作风建设整改方案
2014/10/27 职场文书
护士求职自荐信范文
2015/03/04 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
《窃读记》教学反思
2016/02/18 职场文书
《比尾巴》教学反思
2016/02/24 职场文书
PyTorch的Debug指南
2021/05/07 Python
Python基础 括号()[]{}的详解
2021/11/07 Python