每日一题4.6.2
因子个数
解题思路: 从数字的最小因子2到最大因子(数字的平方根)开始判断,是否能够取余,可以则循环到不能取余为止,因字数+1,最后得到的数字不为1,则增加自身因子数+1
代码实现:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int n,i,j;
while (cin >> n)
{
i = 0;
for (j = 2; j < sqrt(n); j++)
{
if (n%j == 0)
{
while (n%j == 0)
n = n / j;
i++;
}
}
if (n != 1)
i++;
cout << i << endl;
}
return 0;
}