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工厂函数用法实例分析
May 14 Python
详解flask表单提交的两种方式
Jul 21 Python
python提取包含关键字的整行数据方法
Dec 11 Python
Python File(文件) 方法整理
Feb 18 Python
python快排算法详解
Mar 04 Python
Python面向对象程序设计类的封装与继承用法示例
Apr 12 Python
Python数据类型之Number数字操作实例详解
May 08 Python
Django如何将URL映射到视图
Jul 29 Python
详解用python计算阶乘的几种方法
Aug 14 Python
django认证系统实现自定义权限管理的方法
Aug 28 Python
Python3+Requests+Excel完整接口自动化测试框架的实现
Oct 11 Python
Python Numpy,mask图像的生成详解
Feb 19 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实现的一个很好用HTML解析器类可用于采集数据
2013/09/23 PHP
PHP根据IP地址获取所在城市具体实现
2013/11/27 PHP
php基于mcrypt的加密解密实例
2014/10/27 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
一个判断email合法性的函数[非正则]
2008/12/09 Javascript
js href的用法
2010/05/13 Javascript
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
jquery图片切换插件
2015/03/16 Javascript
javascript实时获取鼠标坐标值并显示的方法
2015/04/30 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
基于jQuery实现的打字机效果
2017/01/16 Javascript
JS正则替换去空格的方法
2017/03/24 Javascript
AngularJS自定义指令详解(有分页插件代码)
2017/06/12 Javascript
简单的三步vuex入门
2018/05/20 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
python定时器使用示例分享
2014/02/16 Python
Python库urllib与urllib2主要区别分析
2014/07/13 Python
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
2016/01/20 Python
Ubuntu安装Jupyter Notebook教程
2017/10/18 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
家居装修公司创业计划书范文
2014/03/20 职场文书
学习之星事迹材料
2014/05/17 职场文书
大学英语专业求职信
2014/06/21 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
2014年教师工作总结
2014/11/10 职场文书
2015年学校党支部工作总结
2015/04/01 职场文书
2016幼儿园教师节新闻稿
2015/11/25 职场文书
一封真诚的自荐信帮你赢得机会
2019/05/07 职场文书