/*代码难度不大,主要是校验的步骤比较巧妙。
程序分析:在10万以内判断,先将该数加上100后再开方,
再将该数加上168后再开方,如果开方后的结果满足如下条件,
即是结果。
*/
#include<stdio.h>
#include<math.h>
int main(){
long int i,x,y;
for(i=1;i<=100000;i++){
x = sqrt(i+100); //储存+100后的开方数
y = sqrt(i+168); //储存+168后的开方数
if(x*x==i+100&&y*y==i+168){ //回带校验
printf("%ld\n",i);
}else{ //不写也行
continue;
}
}
return 0;
}