将一個正整數分解質因數。例如:輸入90,列印出90=233*5。
//題目:将一個正整數分解質因數。例如:輸入90,列印出90=2*3*3*5。
//程式分析:對n進行分解質因數,應先找到一個最小的質數k
#include<stdio.h>
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;
}
測試: