因數分解,我們算數學時使用短除法,從最小的質數開始檢查。
當遇到該數的因數時,就把該數除以此質數得到商數,然後重複,直到確定商數已經不能再被此數整除為止。
本題解題思路跟以前算數學一樣!
從2開始算,當發現這個數字(假設a)可以讓input整除,我們就要算算看在input裡面可以提出多少a
當確定可以提出幾個後,我們需要把input除以你提出的數字
最後,要輸出了,因為題目要求,最後一項並沒有「 * 」出現,因此需設一些條件:
首先先把input的質因數輸出來:
printf("%d", i);
然後接著判斷input是否已經是最後一個數字了!
if(input!=1)
{
printf(" * ");
}
因為如果是最後一個數字,那input會被除到只剩1,因此「不等於1」就可以當作條件
#不須知道質數有哪些喔! 因為假設該數非質數,就會因為之前它的因數已經跑過迴圈,所以input就不可能被它(非質數)整除,因此就不會跑進去計算了!
加油哦~~