题解 | #奇♂妙拆分#

奇♂妙拆分

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

题目考点:因数、枚举

题目大意:将数字拆成因数相乘的形式,问有多少个不同因子。

分析:暴力枚举即可(以为会被大素数卡掉实际上数据不大)

代码:

#include<iostream>
#include<cstring>
#include<algorithm>

using namespace std;

int t, n;

bool primer(int n)
{
    if(n < 2) return false;
    for(int i = 2; i <= n/i; i++)
        if(n % i == 0) return false;
    return true;
}

int main()
{
    scanf("%d", &t);
    while(t--)
    {
        scanf("%d", &n);
        if(primer(n))
            printf("2\n");
        else
        {
            int cnt = 0;
            for(int i = 1; i <= n; i++)
            {
                if(n % i == 0)
                {
                    cnt ++; n /= i;
                }
            }
            printf("%d\n", cnt);
        }
    }
    return 0;
}
题解专栏 文章被收录于专栏

希望不断进步

全部评论

相关推荐

一个非常好用的遍历方法
AomaYple:不是指针,是引用
点赞 评论 收藏
分享
10-16 09:58
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
11-15 17:19
湖南大学 Java
成果成果成果果:这是哪个公司的hr,这么离谱吗,我没见过用性别卡技术岗的,身边女性同学拿大厂offer的比比皆是
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务