每日一题4.6.2

每日一题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;
}

猜你喜欢

转载自blog.csdn.net/lxb18821659801/article/details/89303565