[問題] 最大公因數
看板C_and_CPP作者WingedDragon (黃金會死鳥-死後無法復活)時間8年前 (2016/05/30 15:25)推噓4(4推 0噓 6→)留言10則, 7人參與討論串1/2 (看更多)
看到一種版本求最大公因數的寫法, 但是他的迴圈看不懂
int gcd(int a, int b)
{
while ((a %= b) && (b %= a))
/* empty */;
return a + b;
}
他的 while 裡面左右都是整數, 怎麼取 AND ?
而且 while 裡面也不動作
這個程式真的能動嗎 ?
--
歷代主角: 武藤遊戲---神抽 遊城十代---強運 不動遊星---印卡 九十九遊馬---搓牌
翼神龍 效果:此卡不可特殊召喚...
神獸王 表示:同樣三祭品 我免費炸半場外加三千打點
裁龍 表示:同樣支一千 我能炸全場還不用扣血加攻
巨神兵 表示:聽說我可以特召
天空龍 表示:我現在可以捏死原作狂特召的你
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.105
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1464593129.A.088.html
→
05/30 15:29, , 1F
05/30 15:29, 1F
→
05/30 16:00, , 2F
05/30 16:00, 2F
→
05/30 16:00, , 3F
05/30 16:00, 3F
while ((a %= b) && (b %= a))
/* empty */;
所以他把迴圈內部應該執行的動作放到判斷迴圈執行那裡 ?
只要有任何一個算出 0 就會跳出迴圈 ?
推
05/30 16:03, , 4F
05/30 16:03, 4F
推
05/30 16:03, , 5F
05/30 16:03, 5F
→
05/30 16:04, , 6F
05/30 16:04, 6F
→
05/30 16:04, , 7F
05/30 16:04, 7F
※ 編輯: WingedDragon (140.112.25.105), 05/30/2016 18:07:18
推
05/30 18:05, , 8F
05/30 18:05, 8F
→
05/31 14:32, , 9F
05/31 14:32, 9F
推
06/01 21:19, , 10F
06/01 21:19, 10F
討論串 (同標題文章)