C语言 将一个正整数分解质因子 例如:输入90,打印出90=2*3*3*5

 我来答
匿名用户
2013-04-25
展开全部
#include <stdio.h>void main(){  int n, i;  printf("Enter a positive integer: ");  scanf("%d", &n);  printf("%d=", n);  i = 2;  while (i < n)  {    if (n % i == 0)    {      printf("%d*", i);      n /= i;    }    else      ++i;  }  printf("%d\n", n);} 注:这是一个更简洁的写法,我提出来供大家参考。其实不需要测试 i 是否质数。假如 i 是合成数,比 i 小的 i 的质因数早就除掉了。而且 i < n 的循环用 while 不用 do-while,最后不需要倒退擦掉一个 *。
匿名用户
2013-04-25
展开全部
#include <stdio.h>
int prime(int n)
{
int i;
if(n<2)return 0;
for(i=2;i<n;i++)
if(n%i==0)return 0;
return 1;
}
void main()
{
int n,i;
printf("输入一个>2的正整数:");
scanf("%d",&n);
printf("%d=",n);
i=2;
do
{
if(n%i==0&&prime(i))
{
printf("%d*",i);
n/=i;
}
else i++;
}while(n>1);
printf("\b");
printf(" \n");

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式