一个正整数用几个质数相乘的形式表示出来,叫做分解质因数。编写程序,输入一个正整数,输出该正整数分解质因数的形式。例如,输入90,输出90=2*3*3*5。
#include <stdio.h>
//判断是否是质数
bool isPrimer(int num)
{
for(int i = 2;i < num;++i)
{
if(num%2 == 0)
return false;
}
return true;
}
int main()
{
int num;
scanf("%d",&num);
if(isPrimer(num))
{
printf("%d是质数\n",num);
}
for(int i = 2;i <= num;)
{
//i是num的因子
if(num%i == 0)
{
//判断i是否是质数
if(isPrimer(i))
{
printf("%d ",i);
num = num/i;
i = 2;
}
}else{
+++i;//继续找因子
}
}
return 0;
}
#include<stdio.h>
int main(){
int n,i;
scanf("%d",&n);
printf("%d=",n);
while(n!=1){
i=2;
while(1){
if(n%i==0){ //////i是因子
printf("%d",i);
n/=i;
break;
}
i++; ///i不是因子,自增后继续循环判断
}
if(n!=1) ////如果n还能被分解,则输出*号
printf("*");
}
return 0;
}