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

2025-04-24 12:52:04
推荐回答(1个)
回答1:

解:
设这个数是x,(x∈N*),设正整数a、b

x+100=a² ①
x+168=b² ②
②-①,得:b²-a²=68
(b+a)(b-a)=68
b+a、b-a同奇或同偶,又68是偶数,因此b+a、b-a同偶。
68>0,a>0,b>0,因此b-a>0,b>a
68分解为两个正偶数的乘积,只能分解为:68=2×34
b+a=34
b-a=2
解得a=16,b=18
x=a²-100=16²-100=156
该数是156。

C语言对编程者的要求相对较低,书写比较自由,因此不提示错误,很正常。

long int i,m,n
;
for (i=1;i<100000;i++)
{
n=sqrt(100+i);
m=sqrt(268+i);

1、不用取1到100000,量太大了。事实上只有一个解,就是156。初二的知识就可以解决。
2、m、n是算数平方根,前面虽然定义了long int,但上面的最后两行却没有强制定义取整,因此无法算出正确结果。
3、建议按上述过程,设三个量,放弃使用sqrt,重新按x+100=a²、x+168=b² 来考虑编程。