题目解析
题意
输入两个整数a和b,输出从a到b(包含a和b)的平方数的个数。直到输入0 0时程序结束。
思路
如果一个数n是平方数,(double)sqrt(n)-(int)sqrt(n)<1e-6。
代码
#include<stdio.h>
#include<math.h>
bool f(int x){
double m=sqrt(x);
int n=(int)m;
if(m-n<1e-6)
return true;
return false;
}
int main(){
int a,b,num;
while(~scanf("%d%d",&a,&b),a||b){
num=0;
for(int i=a;i<=b;i++){
if(f(i))
num++;
}
printf("%d\n",num);
}
return 0;
}