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

用java编程
2024-11-25 02:56:09
推荐回答(5个)
回答1:

假设这个数是x,加上100之后可以表示成a^2,再加上168之后可以表示成b^2。
其中,b>a>=0。

那么a^2 = x + 100, b^2 = a^2 + 168
所以b^2 - a^2 = 168
也即
(b-a)(b+a) = 168。
168 = 2×2×2×3×7
可以分解成
1×168
2×84
3×56
4×42
6×28
7×24
8×21
12×14
的组合。

需要注意b-a和b+a具有相同的奇偶性,所以在刚才的因式分解中过滤掉奇偶性不同的组合,余下
2×84
4×42
6×28
12×14

令其中较大的为b+a,较小的为b-a,解得符合要求的(a,b) 这样的整数对有:
(41, 43), (19, 23), (11, 17), (1, 13)
所以a的可能值为41, 19, 11或者1。
a^2 - 100的可能值为1581, 261, 21, -99.

所以所求的整数有4个,
分别是-99, 21, 261和1581.

JAVA程序,我用的Visual studio 2005下的VJ++,
创建空的工程直接修改的main.

package ConsoleApplication1;

/**
* Program 的摘要说明
*/
public class Program
{
public static void main(String[] args)
{
//
// TODO: 在此处添加启动应用程序的代码
//

int a, b;

for (a = 0; a < 168; a++)
{
for (b = a; b < 168; b++)
{
if (b * b - a * a == 168)
System.out.println("Found x = " + (a * a - 100));
}
}

System.out.println("Searching end.");
}
}

希望有用。

回答2:

设加上100以后是a²,加上168以后是b²
a,b为正整数且b>a
b²-a²=168-100=68
(b-a)(b+a)=68
b-a与b+a奇偶性相同
68=2×34
b-a=2
b+a=34
a=16,b=18
这个数是:16²-100=156

回答3:

public class A
{public static void main(String []args)
{for(int a=10;a<10000;a++)
{for(int b=1;b<10000;b++)
{if((a*a+168)==(b*b))
{System.out.println (a*a-100+"a="+a+"b="+b);
}
}}}}
答案21a=11b=17
261a=19b=23
1581a=41b=43
请按任意键继续. . .

回答4:

156

回答5:

21