怎么用C语言将一个正整数分解质因数.例如,输入90,输出90=2*3*3*5

来源:百度知道 编辑:UC知道 时间:2024/07/04 17:51:12
怎么用C语言将一个正整数分解质因数.例如,输入90,输出90=2*3*3*5
请各位多多指教
上面的程序会的指导一下

#include "stdio.h"
void main()
{int m,i,j=0;
printf("please input the number:\n");
scanf("%d",&m);
for(i=2;i<=m;i++)
{while(m%i==0)
{j++;
if(j==1) printf("%d=%d",m,i);
else printf("*%d",i);
m=m/i;
}
}

}
没有用中文,怕你用的是TC,那就会出现乱码,这程序关键在于寻找质因数和输出格式的控制。

#include <stdio.h>
void main()
{
int n,i;
printf("请输入一个正整数:");
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",n);
}

人工怎么做,机器就怎么做。

首先找该正整数平方根以内的质数,再挨个去试除。