ac完全平方数

完全平方数

https://ac.nowcoder.com/acm/problem/14733

#include<stdio.h>
#include<math.h>
int main() {
    long long int l, r;
    int n;
    int cnt = 0;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
        scanf("%lld%lld", &l, &r);
        cnt =(int) sqrt(r) - (int) sqrt(l);
        if(((int) sqrt(l))* ((int)sqrt(l))==l){
            cnt++;
        }
        printf("%d\n", cnt);
        cnt = 0;
    }
    return 0;
}
开始做这题·感觉有点坑,0这个数没考虑到,感觉好蠢,这题其实可以运用前缀和思想来写,可以先找到r以前的所有平方数,再找出l前所有的平方数,(这个用相减法时,如果l本身是一个平方数则加上这个平方数),
在判断这个数是否是平方数是可以用平方根来搞搞,被忘了加个int强制转换。
全部评论

相关推荐

在春招的哈士奇很苦闷:这个社会求职终于颠成了我不认识的样子
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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