题解 | #约数的个数#

约数的个数

https://www.nowcoder.com/practice/04c8a5ea209d41798d23b59f053fa4d6

#include <stdio.h>
#include <math.h>
int ApproxiNum(long long x) {
    if (x == 1)
        return 1;
    else {
        long long y = sqrt(x);
        int count = 0;
        for (long i = 1; i <= y; i++) {
            if (x % i == 0 && i * i != x)
                count += 2;
            else if (x % i == 0 && i * i == x)
                count++;
        }
        return count;
    }
}
int main() {
    int n;
    scanf("%d", &n);
    int Arr[n];
    int i = 0;
    while (n--) {
        long long m = 0;
        scanf("%lld", &m);
        Arr[i++] = ApproxiNum(m);
    }
    for (int k = 0; k < i; k++)
        printf("%d\n", Arr[k]);
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 18:53
第一次听说还有无水工作!!!又是被刷新三观的一天
Lynn012:666第一次听到,你给他说这里不方便我们加个微信
点赞 评论 收藏
分享
05-05 21:45
已编辑
广州大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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