【经典问题】将一个数分解质因数


1、题目

将一个数分解质因数

2、代码

/*******************************************************************************************************
** 题    目: 将一个数分解质因数
** 样例输入:50
** 样例输出:50 = 2 * 5 * 5
********************************************************************************************************/

#include <stdio.h> 

void SeparateFactor(int n);

int main(void) 
{ 
	int n;
	
	while(scanf("%d",&n)!=EOF)
	{		
		SeparateFactor(n);
	}

	return 0; 
}

// 分解质因数
void SeparateFactor(int n)
{
	int a = 0;
	int array[20], top;
	
	if (n >= 0)
	{
		a = n;
		top = 0;
		for (int i=2; i <= n; i++)
		{
			while (a%i == 0)
			{
				array[++top] = i;
				a /= i; 
			}
		}
		printf("%d = ", n);
		for(int i = 1; i < top; i++)
		{
			printf("%d * ", array[i]);
		}
		printf("%d\n", array[top]);
	}
}

运行结果



文章作者: 杂烩君
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 杂烩君 !
  目录