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

这个程序怎么结果不对
#include "stdio.h"
#include "math.h"
void main()
{
double i,x,y;
for(i=1;i<100000;i++)
{
x=sqrt(i+100);
y=sqrt(i+268);
if((x*x==i+100)&&(y*y==i+268))
printf("\n%d\n",i);
}
}

不能用double型。。。double型是实数,你这样x=sqrt(i+100)的话x就是sqrt(i+100)的精确值,平方后当然还是i+100了。。。求x,y时加个取整就行了。追问

实数范围不是比整数还要大吗? 我把double 换成了 int 就可以了,,,我不懂为什么double不可以?请指点吧

追答

比如这个:
i=1的时候,如果X声明为double
x=sqrt(i+100)=sqrt(101)=10.0499......
那么X*X=101这个式子还是成立的。。。那你就会输出1了,虽然101不是完全平方。。。
如果X声明为int,X=10。。。这样就符合要求了。。。

追问

谢谢

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-16
x=sqrt(i+100);
y=sqrt(i+268);
x,y都要取整才行,不然后面的比较无意义。追问

c语言取整怎么用?

追答

直接加int

怎么用C语言确定题目:一个整数,它加上100后是一个完全平方数,再加上...
解题思路:设该数为x,它加100后是A,再加168为B。则因为A是完全平方数,所以A为正数,且A=y*y,y为正整数或0。同理,B为正数,B=z*z,z为正整数。因为B=A+168>A,所以,我们可设z=y+n,n为正整数,n>0。由B=A+168,有:(y+n)(y+n)=y*y+168,即:y=84\/n-n\/2。又y为正整数,所以84\/n-n\/2...

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数...
-99+100=1(1的平方) 1+168等于169(13的平方),所以这个数是-99

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数...
因为两个平方数数的差或和都是奇数或者都是偶数,所以这两个数的差是2,和是84,(84-2)÷2=41,41×41-100=1581,这个数可以是1581;或者差是4,和是42,(42-4)÷2=19,19×19-100=261,这个数可以是261;或者差是6,和是28,(28-6)÷2=11,11×11-100=21,这个数可以是21...

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数...
该数为156 加上100等于256 为16的平方 加上168等于324 为18的平方

C语言 :一个整数,它加上100后是一个完全平方数,再加上168又是一个完全...
解题过程如下:include<stdio.h> include<math.h> void main(){ int i=1;int n,m;for (i=1;i<100000;i++){ m=sqrt(100+i);n=sqrt(268+i);if(m*m==i+100)if(n*n==i+268)printf("%ld",i);}}1581

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数...
设这个数是 n,n+100 = a^2,a^2+168=b^2,所以 (b+a)(b-a)=168=84*2 = 42*4 = 28*6 = 14*12,由 b+a=84,b-a=2 解得 a=(84-2)\/2=41,所以 n=41^2-100 = 1581,由 b+a=42,b-a=4 解得 a=(42-4)\/2=19,所以 n=19^2-100=261,由 b+a=28,b-a...

题目:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个...
21+100=11²21+100+168=17²该数是21

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数...
假设这个数是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 ...

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数...
没必要使用程序求解。设这个数是a,则a+100=x^2,a+168=y^2,两式相减得(y-x)(y+x)=68=1*68=2*34=4*17 显然只有可能y-x=2,y+x=34,得y=18,x=16,故这个数a=16^2-100=156

加上168又是一个完全平方数,请问该数是多少
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?设这个平方数是m²,加168后的平方数是n²,则m²+168=n²(n>m且均为正整数)所以n²-m²=168 (n+m)(n-m)=168 而168=1×168=2×84=3×56=4×42=6×28=8...

相似回答