【程序3】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果。请看具体分析:
2.程序源代码:
#include "math.h"
main()
{
long int i,x,y,z;
for (i=1;i<100000;i++)
{ x=sqrt(i+100); /*x为加上100后开方后的结果*/
y=sqrt(i+268); /*y为再加上168后开方后的结果*/
if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
printf("\n%ld\n",i);
}
}
參考答案:[这个程序用vc++编译发现一个错误我看不出来呀。。。]请问,是指什么?
是可以运行,但程序逻辑上的错误?
还是编译没有通过,语法上的错误?
如果是编译没通过,请给出提示?(大概看了看,没什么大问题。)
如果是能运行,没有结果,或错误,是否考虑,这个数可以是负数。
x*x = i + 100 ....1
y*y = i+ 268 ....2
2式减1式:
y*y - x*x = 168 .
心算出一组数, y= 13, x=1.
代回原式,i= -99。