作者td2100106 (中山廢文最後希望)
看板Programming
標題[問題] 質因數分解
時間Tue Aug 13 00:33:37 2019
https://i.imgur.com/jSDknlD.jpg
各位好
小弟我日前在寫到質因數分解的程式時
因為一直沒有辦法想到解析
所以上網找了一些程式碼來參考
不過這個我看了很久一直看不懂
希望各位幫我解惑
假如我想要得到8的質因數分解好了
第一個for迴圈符合所以會進入
開始跑while迴圈
if的部分
因為8%2==0
所以印出2*
接下來新n=8/2=4
繼續迴圈
因為4%2==0
所以又印出2*
接下來新的n=4/2=2
繼續迴圈
因為2%2==0
所以又印出2*
接下來n變成2/2=1了
所以跳出if迴圈
一路往下執行
我不懂的是
最後出來for迴圈時還會經過printf(“%d\n”,n);
這樣不是又多印東西出來嗎?
希望能有大大幫我解釋一下
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.193.40 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1565627619.A.F72.html
推 art1: n 等於 2 時就跳出 while 迴圈了 114.47.172.222 08/13 01:35
推 springman: 我有寫過一層迴圈的版本。 163.23.24.146 08/13 10:27
→ MOONRAKER: 為什麼要貼圖 ideone不好嗎 220.135.118.23 08/13 10:52
→ a1u1usul3: 把自己當電腦去跑一跑每一道指令 122.116.146.26 08/15 20:31
→ a1u1usul3: 或者用debugger的單步執行 122.116.146.26 08/15 20:31
→ a2323555: 範例其實寫的不是很理想 223.137.37.3 09/12 13:16