11461 - Square Numbers
Time limit: 1.000 seconds
A square number is an integer number whose square root is also an integer. For example 1, 4, 81 are some square numbers. Given two numbers a and b you will have to find out how many square numbers are there between a and b (inclusive).
Input
The input file contains at most 201 lines of inputs. Each line contains two integers a and b (0<a≤b≤100000). Input is terminated by a line containing two zeroes. This line should not be processed.
Output
For each line of input produce one line of output. This line contains an integer which denotes how many square numbers are there between a and b (inclusive).
Sample Input Output for Sample Input
1 4 1 10 0 0 | 2 3 |
water.
/*0.022s*/
#include<cstdio>
#include<cmath>
int main(void)
{
int a, b;
while (scanf("%d%d", &a, &b), a)
printf("%d\n", (int)sqrt(b) - (int)ceil(sqrt(a)) + 1);
return 0;
}

本文介绍了一种快速计算两个整数区间内平方数数量的方法。输入包含一系列整数对,对于每一对整数,程序会输出该区间内(包括边界值)所有平方数的数量。通过取整和平方根运算实现这一功能。
481

被折叠的 条评论
为什么被折叠?



