题解 | #奇♂妙拆分#

奇♂妙拆分

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;
}
题解专栏 文章被收录于专栏

希望不断进步

全部评论

相关推荐

华为北京什么时候签约,哪位老哥来个准信
投递华为北京研究所等公司10个岗位 >
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务