将一个正整数分解质因数。例如:输入90,打印出90=233*5。
//题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
//程序分析:对n进行分解质因数,应先找到一个最小的质数k
#include
int main()
{
int n,i;
printf("请输入整数:");
scanf("%d",&n);
printf("%d=",n);
for(i=2;i<=n;i++)//遍历从2到本身的所有数
{
while(n%i==0)//能整除
{
printf("%d",i);//则这个数为其中一个质数
n/=i;//n就除去i,变成一个新的数字继续执行
if(n!=1)
{
printf("*");
};//直到n=1
if(n==1)
{
break;
}
}
}
printf("\n");
return 0;
}
测试: