题目
一个10万以内的整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
代码
方法一:
#include <stdio.h>
#include <math.h>
int main(void)
{
int n;
double x = 0, y = 0;
for ( n = -100; n <= 100000; n++ )
{
x = sqrt( n + 100 );
y = sqrt( n + 100 + 168 );
if ( ( x == (int)x ) && ( y == (int)y ) )
{
printf("This integer is:%d\n", n);
}
}
return 0;
}
方法二:
#include <stdio.h>
#include <math.h>
int main(void)
{
int n;
int x = 0, y = 0;
for ( n = -100; n <= 100000; n++ )
{
x = sqrt( n + 100 );
y = sqrt( n + 100 + 168 );
if ( (x*x == n + 100)&&(y*y == n + 100 + 168) )
{
printf("This integer is:%d\n", n);
}
}
return 0;
}
分析:
方法一和方法二都差不多,都是根据判断sqrt(n+100)与sqrt(n+100+168)的值是否为整数来找出符合条件的n的值。