完全平方数

完全平方数

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 函数执行此操作 - 它向下舍入到最接近的整数。

全部评论

相关推荐

05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
找工作时遇到的神仙HR
点赞 评论 收藏
分享
程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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