Python练习实例3 | 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

这个问题,相对来说是比较复杂的,我们需要首先来分析一下。

我们首先假设这个数为X,两个平方数分别为n和m。

则大概的步骤如下所示:

1、我们可以得到一个公式,也即:x + 100 = n*n, x + 100 + 168 = m*m。

2、计算等式:m2 - n2 = (m + n)(m - n) = 168

3、设置: m + n = i,m - n = j,i * j =168,i 和 j 至少一个是偶数,或者两者均为偶数。

4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶数,要么都是奇数。

5、 3 和 4 推导可知道,i 与 j 均是大于等于 2 的偶数。

6、由于 i * j = 168, j>=2,则 1 < i < 168 / 2 + 1。

7、接下来将 i 的所有数字循环计算即可。

附代码图:

代码图

其实,我们可以看到,代码的解读顺序,与实际分析问题的思路,呈现出对称的一个思路,也就是,我们需要将现实问题,逐步的进行分析,逐渐变成能够让计算机程序逐步运行的思路去进行解决。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容