Python-100 练习题 03 完全平方数

本文大约 1600 字,阅读大约需要 8分钟

练习题 3 的网址:

http://www.runoob.com/python/python-exercise-example3.html


Example-3 完全平方数

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

思路

首先我们可以假设这个整数是x,那么根据题目有:

x+100 = m**2 (1)
x+100+168 = n**2 (2)

m, n都是正整数,接着就是先根据求解一元二次方程组的做法,可以得到

n**2 - n**2 = 168 (3)

利用平方差分解上式,有(n-m)(n+m)=168,这个时候,我们再做一个变换:

m + n = i (4)
n - m = j (5)
i * j = 168 (6)

这个变换,其实只是再设置两个变量i,j,并且根据它们两者相乘是 168,这是一个偶数,由于两个数相乘是偶数,有两种情况,两者都是偶数,或者一个偶数和一个奇数,然后再求解(4)和(5),有:

n = (i + j) / 2 (7)
m = (i - j) / 2 (8)

根据(7)式子,i+j必须是偶数,这样才可以被 2 整除,得到正整数n,这种情况下,结合(4)和(5),可以推导得到i,j都是大于等于 2 的偶数,又根据(6),可以推导到i,j的范围是:

1 < j < i < 85

这里是假设了i > j的情况,因为不存在一个偶数的平方就是168,所以假设i>j

代码实现

第一种实现:

def perfect_square():for i in range(1, 85):if 168 % i == 0:j = 168 / i;if i > j and (i + j) % 2 == 0 and (i - j) % 2 == 0:m = (i + j) / 2n = (i - j) / 2x = n * n - 100print(x)

第二种实现是网上大神的解法,参考文章:

  • Python练习题 003:完全平方数
  • ZH奶酪:编程语言入门经典100例【Python版】

这种实现其实就是在分析过程中,只推导到m,n部分,即(3)式的部分,然后直接根据这个公式和范围来求解,这个时候m,n的范围就是(1,169)

这是一个应用列表推导式的解法:

def perfect_square2():'''列表推导式:return:'''[print(m**2-100, end=',') for m in range(1, 169) for n in range(1, 169) if (n**2 - m**2) == 168]def perfect_square2_loop():'''for 循环形式:return:'''for m in range(1, 169):for n in range(1, 169):if (n ** 2 - m ** 2) == 168:print(m ** 2 - 100, end=',')

输出结果都是:

-99,21,261,1581,

源代码在:

https://github.com/ccc013/CodesNotes/blob/master/Python_100_examples/example3.py

或者点击原文,也可以查看源代码。


欢迎关注我的微信公众号–机器学习与计算机视觉,或者扫描下方的二维码,大家一起交流,学习和进步!

往期精彩推荐

Python-100 练习系列
  • Python-100 | 练习题 01 & 列表推导式
  • Python-100 练习题 02
学习笔记
  • 机器学习入门系列(1)–机器学习概览
  • [GAN学习系列] 初识GAN
  • [GAN学习系列2] GAN的起源
  • [GAN学习系列3]采用深度学习和 TensorFlow 实现图片修复(上)
数学学习笔记
  • 程序员的数学笔记1–进制转换
  • 程序员的数学笔记2–余数
  • 程序员的数学笔记3–迭代法
Github项目 & 资源教程推荐
  • [Github 项目推荐] 一个更好阅读和查找论文的网站
  • [资源分享] TensorFlow 官方中文版教程来了
  • 必读的AI和深度学习博客
  • [教程]一份简单易懂的 TensorFlow 教程
  • [资源]推荐一些Python书籍和教程,入门和进阶的都有!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408757.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

南邮 计算机网络,南邮计算机网络_期末复习纲要-精简版教材.pdf

2012 年考试重点预测&#xff1a;(南京邮电大学计算机通信与网络)填空(20 分)判断(10 分)计算(20 分)简答题&#xff1a;计算&#xff1a;1.根据争用期求最短帧长。2.简单的子网掩码计算简答&#xff1a;1.OSPF 和RIP 特点三条2.三次握手简述3.汉明码计算4.交换机的三种交换方式…

特征工程之数据预处理(下)

机器学习入门系列&#xff08;2&#xff09;–如何构建一个完整的机器学习项目&#xff0c;第四篇&#xff01; 该系列的前三篇文章&#xff1a; 机器学习入门系列(2)–如何构建一个完整的机器学习项目(一)机器学习数据集的获取和测试集的构建方法特征工程之数据预处理&#…

在Android开发中怎样调用系统Email发送邮件

我们都知道&#xff0c;在Android中调用其他程序进行相关处理&#xff0c;几乎都是使用的Intent&#xff0c;所以&#xff0c;Email也不例外。 在Android中&#xff0c;调用Email有三种类型的Intent&#xff1a; Intent.ACTION_SENDTO 无附件的发送 Intent.ACTION_S…

学计算机后悔转专业,大学转专业容易吗 会后悔吗

有很多的同学是非常的想知道&#xff0c;大学转专业容易吗&#xff0c;会后悔吗&#xff0c;小编整理了相关信息&#xff0c;希望会对大家有所帮助&#xff01;大学转专业难不难能转专业的学校有两种&#xff0c;有一种是顶级学校&#xff0c;注重人才的培养&#xff0c;每年有…

特征工程之特征缩放特征编码

机器学习入门系列&#xff08;2&#xff09;–如何构建一个完整的机器学习项目&#xff0c;第五篇&#xff01; 该系列的前四篇文章&#xff1a; 机器学习入门系列(2)–如何构建一个完整的机器学习项目(一)机器学习数据集的获取和测试集的构建方法特征工程之数据预处理&#…

中国石油大计算机在线考试中心,中国石油大在线考试.doc

中国石油大在线考试作??业第1题 唐代最流行的外来乐器是您的答案&#xff1a;B题目分数&#xff1a;0.5此题得分&#xff1a;0.5批注&#xff1a;中国传统音乐?第2题 广东音乐主要流传在您的答案&#xff1a;D题目分数&#xff1a;0.5此题得分&#xff1a;0.5批注&#xff1…

Python-100 练习题 04 判断天数

练习题 4 的网址&#xff1a; http://www.runoob.com/python/python-exercise-example4.html Example-4 判断天数 题目&#xff1a;输入某年某月某日&#xff0c;判断这一天是这一年的第几天&#xff1f; 思路 判断输入的日期是一年中的第几天&#xff0c;因为一年有12个月&a…

【js】日期插件 my97日期控件

http://my97.net/dp/demo/index.htm 功能不错的日期插件 转载于:https://www.cnblogs.com/merlini/archive/2013/06/09/3129127.html

计算机双一流a水平大学,教育部公布:全国双一流A类名单出炉,36所大学上榜,你的大学在内吗...

今后国家认可的好大学、好专业的标准很明确&#xff0c;就是“双一流”建设高校。高考招生录取&#xff0c;将只强调“双一流”&#xff0c;不会再提及985/211。双一流是世界一流大学和一流学科建设&#xff0c;教育部印发的《教育部2016年工作要点》中要求&#xff0c;加快世界…

ASP.NET 网页之间传递值

如果您的应用程序从一个 ASP.NET 网页重定向&#xff08;导航&#xff09;到另一个 ASP.NET 网页&#xff0c;您经常希望将信息从源页传递到目标页。例如&#xff0c;您可能具有一个页面&#xff0c;用户可以从中选择要购买的商品。当用户提交该页时&#xff0c;您希望调用其他…

计算机控制面板图标怎么删除,电脑如何找回消失的“添加或删除程序”图标

&#xfeff;‍我们会根据需要在自己的电脑上下载一些应用程序&#xff0c;但是也会经常卸载掉一些不用的应用程序。这时我们只要打开控制面板中的“添加或删除程序”就可以对已安装在电脑上的软件进行卸载。不过有用户发现自己的电脑上找不到“添加或删除程序”图标&#xff0…

特征工程(完)

机器学习入门系列&#xff08;2&#xff09;–如何构建一个完整的机器学习项目&#xff0c;第六篇&#xff01; 该系列的前五篇文章&#xff1a; 机器学习入门系列(2)–如何构建一个完整的机器学习项目(一)机器学习数据集的获取和测试集的构建方法特征工程之数据预处理&#…

Linux/CentOS下安装Apache/SVN/Subversion图文详解教程

Linux(CentOS)下安装ApacheSubversion(图文教程) 服务器版本和安装软件服务器版本&#xff1a;RedHatCentOS 5.5 32 bit 安装软件&#xff1a;apr-1.3.5.tar.gz&#xff08;APR(Apache portable Run-time libraries&#xff0c;Apache可移植运行库)的目的如其名称一样&#xff…

计算机专业自然辩证法期末论文,清华大学自然辩证法-期末论文.docx

清华大学自然辩证法-期末论文论道家自然观对于现代科学的启发摘要&#xff1a;道家是中国古代的重要思想学派&#xff0c;而其自然观在中国古代也独树一帜&#xff0c;流传广泛&#xff0c;甚至于对两千多年后的现在仍具有很强的指导意义。本文通过阐明道家自然观的深刻内涵&am…

[Github项目推荐] 机器学习 Python 知识点速查表

2019年第 21 篇文章&#xff0c;总第 45 篇文章今天推荐三份知识点的速查表&#xff0c;分别是机器学习、深度学习和 Python 三方面的知识点速查表。其中前两份都是来自斯坦福大学的课程&#xff0c;分别是 CS229 机器学习 和 CS230 深度学习课程。1. CS229 机器学习速查表传送…