完全平方数

完全平方数

https://ac.nowcoder.com/acm/contest/22353/B

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    int n;
    cin >> n;
    int l, r;
    while (n--) {
        cin >> l >> r;
        int start = ceil(sqrt(l)); // Start from the square root of l
        int end = floor(sqrt(r));  // End at the square root of r
        int count = 0;
        for (int j = start; j <= end; j++) {
            count++;
        }
        cout << count << "\n";
    }
}
  1. 如果 l 不是完全平方数,则其平方根将是分数。在这种情况下,您需要从下一个大于该小数值的整数开始计数,因为所有小于该小数值的数字在平方时都会低于 l 。 ceil 函数正是这样做的——它向上舍入到最接近的整数。

  2. 如果 r 不是完全平方数,则其平方根将是分数。在这种情况下,您需要以小于该小数值的最大整数结束计数,因为任何大于该分数的数字在平方时都会超过 r 。 floor 函数执行此操作 - 它向下舍入到最接近的整数。

全部评论

相关推荐

01-19 12:48
门头沟学院 C++
只想搞钱的鸽子很喜欢...:混账是很多的,还有那些在自己风华正茂的年纪说风凉话讥讽那些下岗前员工的。这些人都是现在职场环境这么烂的帮凶
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务