作者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://webptt.com/cn.aspx?n=bbs/Programming/M.1565627619.A.F72.html
1F:推 art1: n 等於 2 时就跳出 while 回圈了 114.47.172.222 08/13 01:35
2F:推 springman: 我有写过一层回圈的版本。 163.23.24.146 08/13 10:27
3F:→ MOONRAKER: 为什麽要贴图 ideone不好吗 220.135.118.23 08/13 10:52
4F:→ a1u1usul3: 把自己当电脑去跑一跑每一道指令 122.116.146.26 08/15 20:31
5F:→ a1u1usul3: 或者用debugger的单步执行 122.116.146.26 08/15 20:31
6F:→ a2323555: 范例其实写的不是很理想 223.137.37.3 09/12 13:16