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

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/28 09:55:48
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
xVKO#G+16!Z%a/h/IV^{D+yِGlŀwlVL 1$Dz|]]U]@O$k~J֏8sjeQtjllWOFͭznIݫכEx@0z/红}wcy ̷mǙ /1>R+K eX[]}Pbp5G!WsuDߣ1&)gy $9,aKdǍ}ؿÑ ~C(NAnSh[O^ş07mm~W۸ZYI=CbhoOPtk;@3 q`;7}X4f.BL;̑h r3,>MDG_9e6ʏd/z~e Gv$_n=/_ B=9=]K\ZɆsP$^|wp_ VM dD\3_}x|]l<9/˟gmcYju,SRo-_#U鉇XzZ =S+G`z&zjOqdGp'e㹐d*iG\ݔ_ #`dv)@s:6S]]{i"jQ`t:lz߬CU]1{6Fu9  ^M5/&Idc2g" ^] ?'HBw 8MVt'8U'Ѓh4$H ؎HLCJk[tJ҆h"h $㦁eP#CWD4 {_Q47Hya\&|٣T09 )סq, - I7@oG з5}AM(h*oo4

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

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
结果是:4256
编程实现如下:


#include <stdio.h>
#include <math.h>
void main()
{
int i, x, y, z;
for(i=1; i < 10000; i++)
{
x = sqrt(i + 100);/*x为加上100后开方的结果*/
y = sqrt(i + 100 + 268);/*y为再加上168后开方的结果*/
if(pow(x, 2) == i + 100 && pow(y, 2) == i + 100 + 268)
printf("%d\n", i);
}
}
请放心使用
有问题的话请追问
采纳后你将获得5财富值.
你的采纳将是我继续努力帮助他人的最强动力!

261

假设这个数是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×...

全部展开

假设这个数是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.");
}
}
希望有用。

收起