//题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
//分析:定义整数i,完全平方数:a的平方等于b,b就是完全平方数 。a = sqrt(b);
//如果某数等于他的平方根的平方,那么他就是完全平方数(根据整数的平方根可能会四舍五入得出) (√)
//
#include<stdio.h>
#include<math.h>
int main(){
int i = -100, s1 , s2;
int j1 , j2;
printf("满足题意的数有:");
for( ; ; i++){
s1 = s2 = 0;
s1 = i + 100;
s2 = i + 268;
j1 = sqrt(s1);
j2 = sqrt(s2);
if(s1 == pow(j1 , 2) && s2 == pow(j2 , 2)){
printf("%5d",i);
}
}
}
【运行结果:】
满足题意的数有: -99 21 261 1581
疑问:虽然结果是对的,但是我找完全平方数的思路是否有漏洞?(“如果某数等于他的平方根的平方,那么他就是完全平方数”)