文章

145

粉丝

217

获赞

21

访问

85.1k

头像
质因数个数 题解:C
P1156 清华大学上机题
发布于2024年2月8日 17:42
阅读数 666

#include <stdio.h>
#include <math.h>

int isPrimary(int n)
{
	int i;
	for(i = 2; i <= sqrt(n); i++)
		if(n % i == 0) break;
	if(i > sqrt(n)) return 1;
	else return 0;
}

int Prime_Factor(int n)
{
	int i = 2,count = 0;
	if(isPrimary(n)) return 1;//本身就是质数,单独处理
	while(n != 1)
	{
		if(n % i == 0 && isPrimary(i))
		{
			count++;
			n/=i;
		}
		else i++;
	}
	return count;
}

int main()
{
	int n;
	while(scanf("%d",&n) != EOF)
	{
		printf("%d\n",Prime_Factor(n));
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发