编写一个函数,对传递的正整数k输出它的全部素数因子。例如:当k=126时,素数因子为:2、3、3、7。要求按如下格式输出:126 = 2 * 3 * 3 * 7。
源程序如下:
#include <stdio.h>
#include <conio.h>
int IsPrimeNumber(int n) //判断n是否为素数
{
int i ;
for(i=2 ; i < n ; i++)
if(n % i == 0)
return 0;
if(i>=n)
return 1;
}
int PrintPrimeFactor(int k) //输出k的全部素数因子
{
int i, j = 0;
printf("%d = ",k);
while(!IsPrimeNumber(k))
for(i = 2; i < k; i++) //找小于k的因子
if( k % i == 0 && IsPrimeNumber(i) )
{
printf("%d * ",i);
k /= i; //取出k的素数因子
j++; //记录素数因子的