程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果。
#include<stdio.h>
#include<math.h>
#include<windows.h>
int main(){
long int x,y;
int i;
for (i = 0; i < 10000;i++){
x =sqrt((double)i + 100); /*x为加上100后开方后的结果*/ //aqrt()括号里面只能放浮点型,所以i需要强转类型
y=sqrt((double)i+268); /*y为再加上168后开方后的结果*/
if((x*x==i+100)&&(y*y==i+268)){ /*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
printf("%d\t",i);
}
}
system("pause");
return 0;
}