面試題目記錄(2)

更新 發佈閱讀 1 分鐘
raw-image

題目敘述

輸入兩個數字N1、N2
輸出N1、N2、兩數的最大公因數、兩數的最小公倍數


raw-image

解題思考

求解最大公因數算是基本題,使用輾轉相除法找出答案,進一步再找出最小公倍數,為國中數學基礎。

實作

建立輾轉相除法的function gcd(),以遞迴方式呈現。最小公倍數以下方質因數分解後的例子作為說明:

N1 = 12, 即2*2*3
N2 = 30, 即2*3*5
因此最大公因數為共同的2*3
最小公倍數為最大公因數去乘上兩數分別多出來的部分,即N1中的2還有N2中的5
所以最大公因數為2*3 = 6,最小公倍數為(2*3)*2*5 = 60

感想

我認為最大的考點在於求最大公因數時輾轉相除法的實作,可以使用遞迴或是迴圈加上變數交換來寫。最小公倍數的部分倒是沒記得公式,只記得基本原理上的求法。

當然!結果上是相同的。



留言
avatar-img
留言分享你的想法!
avatar-img
Err500
12會員
78內容數
遇到的坑、解過的題、新知識的探索、舊時代的遺毒!? 工作後我發現,文件更新往往跟不上新需求的更迭,犯錯的歷史總是不斷重演。因此,我改變了方式,蒐集從程式上、系統上的每一次異常處理過程,好讓再次遇到相同的問題時能快速應變。此專題就是我的錯題本,期待日後不管在工作上或交流上遇到難題,都能輕鬆地應答:有什麼難的,我都踩過。
Err500的其他內容
2025/04/03
這篇文章記錄了作者使用 Go 語言和 Ebitengine 遊戲引擎開發 2D 遊戲的心得,從專案初始化、安裝套件、實作遊戲介面到處理鍵盤輸入和邊界等,並分享了遊戲開發中學習到的經驗與知識。
Thumbnail
2025/04/03
這篇文章記錄了作者使用 Go 語言和 Ebitengine 遊戲引擎開發 2D 遊戲的心得,從專案初始化、安裝套件、實作遊戲介面到處理鍵盤輸入和邊界等,並分享了遊戲開發中學習到的經驗與知識。
Thumbnail
2025/03/28
本文章提供Neovim在Windows環境下的安裝教學與入門設定,從基本安裝、環境變數設定到使用kickstart.nvim套件快速配置IDE環境,降低新手入門門檻。文章也提及了進階設定與客製化的方向。
Thumbnail
2025/03/28
本文章提供Neovim在Windows環境下的安裝教學與入門設定,從基本安裝、環境變數設定到使用kickstart.nvim套件快速配置IDE環境,降低新手入門門檻。文章也提及了進階設定與客製化的方向。
Thumbnail
2025/03/27
前言 Discord聊天時發現而機會出現電流聲,不確定是不是雜音抑制反而暴露了微小的噪音,一方面在公司內開會,可以插3.5mm耳機孔,登入會議軟體方便一點,只是不好意思拿耳罩式到公司,顯得太過張揚,趁還有點數來網購新玩物。
Thumbnail
2025/03/27
前言 Discord聊天時發現而機會出現電流聲,不確定是不是雜音抑制反而暴露了微小的噪音,一方面在公司內開會,可以插3.5mm耳機孔,登入會議軟體方便一點,只是不好意思拿耳罩式到公司,顯得太過張揚,趁還有點數來網購新玩物。
Thumbnail
看更多