//题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
//如果一个数的平方根的平方等于该数,这说明此数是完全平方数
//在math.h库中有开方函数 sqrt();
//思路:循环检测一个数字加上100能否开方,若可以,再检测这个数加216能否被开方,若可以,则跳出循环输出该数
#include <math.h>
#include <stdio.h>
int main()
{
int i=1;
while(1)
{
if( ( (int)( sqrt(i+100)*10 ) )%10!=0 ) //如果i+100被开方不是整数时,说明不能被开方,则i++,然后跳过本次循环
{
i++;
continue;
}
else if( ( (int)( sqrt(i+268)*10 ) )%10!=0 ) //如果i+100能被开方,再检测 i+268能否被开发,若不能则i++,然后跳过本次循环
{
i++;
continue;
}
else //如果i+100、i+268都能被开方,则i为所求数字,输出数字,并跳出循环
{
printf("这个数字是:%5d\n",i);
return 0;
}
}
}
|
|