看板 Programming 關於我們 聯絡資訊
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