完全平方数

简介: 完全平方数.。

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
程序分析:
假设该数为 x。
1、则:x + 100 = n2, x + 100 + 168 = m2
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 的所有数字循环计算即可。
具体实现如下:
实例

include

int main (void)
{
int i, j, m, n, x;
for (i = 1; i < 168 / 2 + 1; i++)
{
if (168 % i == 0)
{
j = 168 / i;
if ( i > j && (i + j) % 2 == 0 && (i - j) % 2 == 0)
{
m = (i + j) / 2;
n = (i - j) / 2;
x = n n - 100;
printf ("%d + 100 = %d
%d\n", x, n, n);
printf ("%d + 268 = %d %d\n", x, m, m);
}
}
}
return 0;
}
以上实例输出结果为:
-99 + 100 = 1
1
-99 + 268 = 13 13
21 + 100 = 11
11
21 + 268 = 17 17
261 + 100 = 19
19
261 + 268 = 23 23
1581 + 100 = 41
41
1581 + 268 = 43 * 43

相关文章
|
1月前
|
Java
leetcode-279:完全平方数
leetcode-279:完全平方数
26 0
|
7月前
|
C++
筛质数、分解质因数和快速幂的应用
筛质数、分解质因数和快速幂的应用
46 0
|
21天前
将一个正整数分解质因数
将一个正整数分解质因数。
19 2
|
29天前
38.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
38.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
23 0
|
1月前
|
C++
有效的完全平方数(C++)
有效的完全平方数(C++)
30 0
|
1月前
|
人工智能 Java C++
分解质因数
分解质因数
20 1
|
6月前
分解质因数答疑
为什么n % i == 0就是质数 因为在枚举到i之前已经把n中2到i-1的质因子除干净了,此时n中不含2到i-1的质因子,由于n为i的倍数,所以i中也不包含2到i-1的质因子。如果i可以整除前面的i - 1中的数那么i = x * (i - 1),n = x2 * (x * (i - 1)); 矛盾了 为什么只需要枚举到根号N
32 2
leetcode 279 完全平方数
leetcode 279 完全平方数
36 0
leetcode 279 完全平方数
|
机器学习/深度学习 Java
LeetCode——479. 最大回文数乘积
LeetCode——479. 最大回文数乘积
71 0

热门文章

最新文章