免費開始練習
統測 111年 [電機與電子群資電類] 專業科目(2)

第 44 題

下列C語言程式碼片段執行結果,變數y的值為何? ```c int y, r, a=30, b=42; r=a%b; while(r!=0 ) { a=b; b=r; r=a%b; } y=b; ```
  • A 42
  • B 30
  • C 12
  • D 6

思路引導 VIP

請仔細觀察 while 迴圈中的運算邏輯:程式重複執行取餘數運算 %,並將原本的除數賦值給 $a$、餘數賦值給 $b$,直到餘數 $r$ 為 $0$ 為止。這種透過「餘數」不斷迭代來更新變數的程序,對應到數學中求解兩個整數 $30$ 與 $42$ 之「最大公因數 (GCD)」的哪一個經典演算法?

🤖
AI 詳解 AI 專屬家教

🌟 太棒了!精準掌握演算法邏輯!

這題你選對了,代表你對 C 語言的 while 迴圈餘數運算 有非常紮實的理解。這不只是簡單的程式追蹤,更是在考驗你對經典演算法的敏銳度!

1. 觀念驗證:為什麼答案是 6?

▼ 還有更多解析內容

升級 VIP 解鎖