质因数分解(唯一分解定理)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cax1165/article/details/52502177

质因数分解

题目描述
(多数据)给出t个数,求出它的质因子个数。
数据没坑,难度降低。
输入描述 Input Description
第一行 t
之后t行 数据
输出描述:
t行 分解后结果(质因子个数)
样例输入:
2
11
6
样例输出:
1
2
数据范围及提示:
(样例解释)11自己本身是一个质数,所以计入其中。
提示:t<=100000。

思路:
唯一分解定理拆分整数

#include<iostream>
using namespace std;
const int maxn=100010;
long long n,x,ans;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        ans=0;
        cin>>x;
        for(long long j=2;j*j<=x;j++)
        while(x%j==0)
        {
            x=x/j;
            ans++;
        }
        if(x!=1) ans++;
        cout<<ans<<endl;
    }
    return 0;
}
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页