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

问题描述:

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
这个程序怎么结果不对
#include "stdio.h"
#include "math.h"
void main()
{
\x05double i,x,y;
\x05for(i=1;i

不能用double型.double型是实数,你这样x=sqrt(i+100)的话x就是sqrt(i+100)的精确值,平方后当然还是i+100了.求x,y时加个取整就行了.实数范围不是比整数还要大吗?我把double 换成了 int 就可以了,,,我不懂为什么double不可以?请指点吧比如这个:i=1的时候,如果X声明为doublex=sqrt(i+100)=sqrt(101)=10.0499......那么X*X=101这个式子还是成立的。。。那你就会输出1了,虽然101不是完全平方。。。如果X声明为int,X=10。。。这样就符合要求了。。。