#LQB0032. 分解质因数

分解质因数

题目描述

给定一个合数 NN,将 NN 分解为若干个质因数相乘的形式(质因数可重复)。请输出分解后质因数的个数。

例如:18=2×3×318=2\times 3\times 3,质因数个数为 33

输入格式

输入一个合数 NN

输出格式

输出一个整数,表示将 NN 分解质因数后得到的质因数个数。

样例输入输出

样例输入1

18

样例输出1

3

提示信息:

质数:是一个大于1的自然数,且除了1和它本身外,不能被其他自然数整除的数。最小的质数是2,1不是质数。
合数:一个正整数,如果除1和它本身以外,还能被其他正整数整除,叫合数。如6是合数,除了1和6 以外,还能被2和3整除。

分解质因数:每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,把一个合数用质因数相乘的形式表示出来,叫做分解质因数(分解质因数只针对合数)。如合数12=2×2×3。

分解质因数的方法是先用这个合数的最小质因数去除这个合数,结果若是一个质数就不再除下去;若是一个合数就继续按原来的方法从最小质因数除起,直至最后除得的结果是一个质数。

例如:
合数18分解质因数,首先用最小质因数2去除,除后结果为合数9,继续用最小质因数3去除,除后结果为质数3,就不再除下去。所以18的质因数为2、3、3,故质因数的个数为3;

数据范围与测试点说明

  • 输入保证 NN 为合数,且 2<N10122<N\le 10^{12}

时间限制与内存限制

  • 时间限制:11
  • 内存限制:10241024 KiB