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生成随机密码或随机字符串的方法
Jul 03 Python
python基于phantomjs实现导入图片
May 13 Python
python 循环遍历字典元素的简单方法
Sep 11 Python
Python数据分析之获取双色球历史信息的方法示例
Feb 03 Python
使用Python AIML搭建聊天机器人的方法示例
Jul 09 Python
一百行python代码将图片转成字符画
Feb 19 Python
pytorch 调整某一维度数据顺序的方法
Dec 08 Python
Pythony运维入门之Socket网络编程详解
Apr 15 Python
使用虚拟环境打包python为exe 文件的方法
Aug 29 Python
tensorflow 实现自定义layer并添加到计算图中
Feb 04 Python
python实现学生信息管理系统源码
Feb 22 Python
python实现Nao机器人的单目测距
Sep 04 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
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
2017/02/15 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
Yaf框架封装的MySQL数据库操作示例
2019/03/06 PHP
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
2010/03/14 Javascript
javascript中length属性的探索
2011/07/31 Javascript
javascript获取flash版本号的方法
2014/11/20 Javascript
Validform+layer实现漂亮的表单验证特效
2016/01/17 Javascript
不能不知道的10个angularjs英文学习网站
2016/03/23 Javascript
JavaScript来实现打开链接页面的简单实例
2016/06/02 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
2017/01/18 Javascript
Express之get,pos请求参数的获取
2017/05/02 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
js+canvas实现验证码功能
2020/09/21 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
JavaScript常用内置对象用法分析
2019/07/09 Javascript
layui.tree组件的使用以及搜索节点功能的实现
2019/09/26 Javascript
vue el-table实现自定义表头
2019/12/11 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
2020/03/02 Javascript
django简单的前后端分离的数据传输实例 axios
2020/05/18 Javascript
小程序实现多个选项卡切换
2020/06/19 Javascript
Python聊天室实例程序分享
2016/01/05 Python
利用python3随机生成中文字符的实现方法
2017/11/24 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
电影T恤、80年代T恤和80年代服装:TV Store Online
2020/01/05 全球购物
中科方德软件测试面试题
2016/04/21 面试题
简短证婚人证婚词
2014/01/09 职场文书
离婚民事起诉状
2015/08/03 职场文书
先进个人主要事迹怎么写
2015/11/04 职场文书
标会主持词应该怎么写?
2019/08/15 职场文书
深入理解go缓存库freecache的使用
2022/02/15 Golang