帮忙解决一个编程题,求因子的谢谢了

编一个函数求给定一个数字的所有因子,如72=2*2*2*2*3*3
2024-12-13 12:31:14
推荐回答(2个)
回答1:

用递归,程序运行结果:

Please input N:24(回车)
24 = 2*2*2*3

---------------------------------------
#include

/*判断素数*/
int isPrime(int n)
{
int i;
for(i=2;iif(n%i==0) return 0;
return 1;
}

/*递归函数*/
void f(int n)
{
int i;
if (isPrime(n))
{
printf("%d"明宏唤, n);
return;
}
for(i=2;i{
if(n%i==0)
{
f(i);
printf("*");
f(n/i);
return;
}
}
}
void main()
{
int N;
printf("Please input N:");
scanf("激凯%d", &N);
printf("%d = ",N);
f(N);
printf("绝肆\n");
getch();
}

回答2:

#include "stdio.h"
#include "conio.h"旁旅差
main()
{
int n,i;
printf("\nplease input a number:\n");
scanf("运皮镇辩%d",&n);
printf("%d=",n);
for(i=2;i<=n;i++)
while(n!=i)
{
if(n%i==0)
{
printf("%d*",i);
n=n/i;
}
else
break;
}
printf("%d",n);
getch();
}