一道有关求完全平方数的题

来源:百度知道 编辑:UC知道 时间:2024/05/23 14:42:33
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

下面是我的程序:
#include <stdio.h>
#include <math.h>
int main()
{
long int x,y,i;
for(i=1;i<=100000;i++)
{
x=sqrt(i+100);
y=sqrt(i+268);
if(x*x==i+100&&y*y==i+268)printf("%d",i);
}
}

但得到的结果好象不正确,希望有老师指点..

楼上几个好像不对吧。
你的思路是对的但是注意一下精度就行了。其实很简单。
#include <stdio.h>
#include <math.h>
int main()
{
long int i; double x,y;
for(i=1;i<=100000;i++)
{
x=(double)sqrt(i+100);
y=(double)sqrt(i+268);
if(x*x==i+100&&y*y==i+268)printf("\n%ld",i);
}
}

#include <stdio.h>
#include <math.h>
/*
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,
请问该数是多少?

*/
void main()
{
int i;
double m,n;
for(i=1;i<=10000;i++)
{
m=sqrt(i+100);
n=sqrt(i+268);
if( m ==(int)m && n ==(int) n)

printf("%d\n",i);
}
}

#include <stdio.h>
#include <math.h>
int main()
{
int x,y,i;
for(i=1;;i++)
{
x=sqrt(i+100);
y=sqrt(i+268);
if(x*x==i+100&&y*y==i+268)
break;
}
printf("%d",i);
}

没必