
C语言求因数
写一个函数名叫factor的式子,同时显示参数和他所有的素因数,例如函数引用84那么显示就是84=2×2×3×7...
写一个函数名叫factor的式子,同时显示参数和他所有的素因数,例如函数引用84 那么显示就是84 = 2 × 2 × 3 × 7
展开
3个回答
展开全部
#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函数放进去,不过写起来就有点繁了!
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函数放进去,不过写起来就有点繁了!
展开全部
void factor (int m) {
int i;
输出“1*”(具体ASCII码忘了,自己查吧)
for(i=2;i<m/2;i++) {
if(m%i==0)
输出“*i”
}
}
循环条件改成根号下m也可,可惜系统提供的函数我忘了
int i;
输出“1*”(具体ASCII码忘了,自己查吧)
for(i=2;i<m/2;i++) {
if(m%i==0)
输出“*i”
}
}
循环条件改成根号下m也可,可惜系统提供的函数我忘了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
-。- 迷糊。。。虽然我考过。。。但全忘了。。。去查查书。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询