C语言求因数

写一个函数名叫factor的式子,同时显示参数和他所有的素因数,例如函数引用84 那么显示就是84 = 2 × 2 × 3 × 7

#include<math.h>
int
fun(int
n)
{int
i,k=1;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
k=0;
return
k;}
void
factor(int
n)
{
int
i,x,m=n;
printf("\n%d=",n);
for(i=2;i<=n;i++)
{
if(fun(i)==1&&m%i==0){
printf("%d*",i);
m=m/i;
i=1;
if(fun(m)==1)
break;}
}
printf("%d\n",m);
}
main()
{
int
a;
printf("shu
ru
yi
ge
shu:");
scanf("%d",&a);
factor(a);
}
因为一定要是素因数的乘积
所以我多用了一个判断是不是素数的函数,可以不?
如果只能用一个函数,你就自己把fun函数放进去,不过写起来就有点繁了!
温馨提示:答案为网友推荐,仅供参考