面試題目記錄(2)

更新於 發佈於 閱讀時間約 1 分鐘
題目要求

題目敘述

輸入兩個數字N1、N2
輸出N1、N2、兩數的最大公因數、兩數的最小公倍數
考試當下解

解題思考

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

實作

建立輾轉相除法的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
13會員
65內容數
遇到的坑、解過的題、新知識的探索、舊時代的遺毒!? 工作後我發現,文件更新往往跟不上新需求的更迭,犯錯的歷史總是不斷重演。因此,我改變了方式,蒐集從程式上、系統上的每一次異常處理過程,好讓再次遇到相同的問題時能快速應變。此專題就是我的錯題本,期待日後不管在工作上或交流上遇到難題,都能輕鬆地應答:有什麼難的,我都踩過。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Err500 的其他內容
題目敘述 撲克牌有4種花色,分別是黑桃、紅心、方塊跟梅花 其中每一中花色都有一個數字,範圍從1~13,總共13*4 = 52張牌 1) 請從52張牌中挑選13張牌,輸出第一列所示,牌跟牌之間用tab隔開。 2) 請將抽出的13張牌依數字由大至小排序,同樣數字下比花色。
在youtube上找尋前端的小專案來練習,就發現了這個不是很難,又可以讓我練習怎麼把javascript用在網頁裡的專案,於是就跟者影片做了一遍。當然,比起前一個寫遊戲的影片來說,可以說是輕鬆很多。
回顧一路下來的成長過程,是回憶、是學習、是見聞、是醞釀;其中有歡樂、有悲傷、有火花、有感慨。 記得在國小的第一次段考,只有國文、數學兩項科目的考試上,在班級內出現了同學A、同學B兩位滿分。 問題來了:誰是第一名?
常見入門款Python、統計分析用R、轉職培訓JAVA、C#、IOS用Swift、前端萬用JavaScript、學校基礎C語言、進階C++、甚至是新潮的語言go,程式語言那麼多種到底該從哪個入門好?難道從Scratch開始?
Youtube上逛著逛著看到techwithtim的線上教學,這是一個pygame的模組練習,只\是我想了解深一點的是物件導向的寫法應用。影片大約兩小時,實際邊動手coding,一邊看著影片的講解,結果花在這上面的時間遠遠超過我的預期。
常常會在其他教學影片中看到if __name__ == "__main__"  的寫法,為什麼要這樣做呢?
題目敘述 撲克牌有4種花色,分別是黑桃、紅心、方塊跟梅花 其中每一中花色都有一個數字,範圍從1~13,總共13*4 = 52張牌 1) 請從52張牌中挑選13張牌,輸出第一列所示,牌跟牌之間用tab隔開。 2) 請將抽出的13張牌依數字由大至小排序,同樣數字下比花色。
在youtube上找尋前端的小專案來練習,就發現了這個不是很難,又可以讓我練習怎麼把javascript用在網頁裡的專案,於是就跟者影片做了一遍。當然,比起前一個寫遊戲的影片來說,可以說是輕鬆很多。
回顧一路下來的成長過程,是回憶、是學習、是見聞、是醞釀;其中有歡樂、有悲傷、有火花、有感慨。 記得在國小的第一次段考,只有國文、數學兩項科目的考試上,在班級內出現了同學A、同學B兩位滿分。 問題來了:誰是第一名?
常見入門款Python、統計分析用R、轉職培訓JAVA、C#、IOS用Swift、前端萬用JavaScript、學校基礎C語言、進階C++、甚至是新潮的語言go,程式語言那麼多種到底該從哪個入門好?難道從Scratch開始?
Youtube上逛著逛著看到techwithtim的線上教學,這是一個pygame的模組練習,只\是我想了解深一點的是物件導向的寫法應用。影片大約兩小時,實際邊動手coding,一邊看著影片的講解,結果花在這上面的時間遠遠超過我的預期。
常常會在其他教學影片中看到if __name__ == "__main__"  的寫法,為什麼要這樣做呢?
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
 1.本文提供的三種解法,似乎後兩種在計算上比較輕鬆,但其實計算的難易可能因題目給的數字或條件不同,而有差異,不能一概而論。譬如,當一元二次方程式的兩根是整數,那用解法1最簡單,何須大費周章?  2.題(2)求立方和,解法3要利用計算平方和的結果,而解法2則不必,所以題目如果不要學生算平方和,
絕對值不等式(一) 絕對值不等式(二) 分點計算(一) 分點計算(二) 循環小數化分數(一) 算幾不等式(一) 算幾不等式(二) 算幾不等式(三) 根式化簡(一) 根式化簡(二) 無理數係數對照(一) 判斷數值區間(一)
Thumbnail
題目敘述 輸入給定一個二元的二維矩陣grid 每次可以翻轉一條row,讓每個元素的01反相。 也可以翻轉一條column,讓每個元素的01反相。 可以操作任意多次。 最後把每條row視為一條二進位表達式的數字,並且進行加總,得到最後的分數。 請問分數的最大值是多少? 原本的英文題目敘
  也就是說,這個題目最主要要考的東西其實遠遠不是兩個三位數相加那麼簡單。它要測驗的核心其實是「學生是否有辦法把應用題轉譯為算式,並計算出正確答案」。當我們帶著這份思考去重新看那道題目時,我們會發現這個我們成年人沒有看懂的要求,不僅僅是要學生寫出計算過程,更核心的是在確認「解題過程」。
Thumbnail
題目敘述 題目會給定兩個輸入字串str1和str2,要求我們找出這兩個字串的最大共同子字串。 如果無解,則返回空字串""。 題目的原文敘述 測試範例 Example 1: Input: str1 = "ABCABC", str2 = "ABC" Output: "ABC" Exam
Thumbnail
題目敘述 題目會給兩個陣列nums1和nums2。 題目要求我們從中同步選擇長度為k的子序列,並且最大化子序列的分數, 回傳最高的分數值。 分數的定義: 分數 = (nums1[i0] + nums1[i1] +...+ nums1[ik - 1]) * min(nums2[i0] ,
Thumbnail
題目敘述 題目會給我們一個參數k 和 目標值n。 請問我們從1~9內挑k個相異的數字,使得他們的總和為n 的組合數有多少? 挑選時,每個數字必須相異,而且每個數字只能選一次。 題目的原文敘述 測試範例 Example 1: Input: k = 3, n = 7 Output: [
Thumbnail
題目敘述 題目會給定我們一棵二元數Binary Tree的根結點。 問我們任意祖先節點和晚輩節點之間,最大的差值的絕對值是多少? 題目的原文敘述 測試範例 Example 1: Input: root = [8,3,10,1,6,null,14,null,null,4,7,13] Ou
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
 1.本文提供的三種解法,似乎後兩種在計算上比較輕鬆,但其實計算的難易可能因題目給的數字或條件不同,而有差異,不能一概而論。譬如,當一元二次方程式的兩根是整數,那用解法1最簡單,何須大費周章?  2.題(2)求立方和,解法3要利用計算平方和的結果,而解法2則不必,所以題目如果不要學生算平方和,
絕對值不等式(一) 絕對值不等式(二) 分點計算(一) 分點計算(二) 循環小數化分數(一) 算幾不等式(一) 算幾不等式(二) 算幾不等式(三) 根式化簡(一) 根式化簡(二) 無理數係數對照(一) 判斷數值區間(一)
Thumbnail
題目敘述 輸入給定一個二元的二維矩陣grid 每次可以翻轉一條row,讓每個元素的01反相。 也可以翻轉一條column,讓每個元素的01反相。 可以操作任意多次。 最後把每條row視為一條二進位表達式的數字,並且進行加總,得到最後的分數。 請問分數的最大值是多少? 原本的英文題目敘
  也就是說,這個題目最主要要考的東西其實遠遠不是兩個三位數相加那麼簡單。它要測驗的核心其實是「學生是否有辦法把應用題轉譯為算式,並計算出正確答案」。當我們帶著這份思考去重新看那道題目時,我們會發現這個我們成年人沒有看懂的要求,不僅僅是要學生寫出計算過程,更核心的是在確認「解題過程」。
Thumbnail
題目敘述 題目會給定兩個輸入字串str1和str2,要求我們找出這兩個字串的最大共同子字串。 如果無解,則返回空字串""。 題目的原文敘述 測試範例 Example 1: Input: str1 = "ABCABC", str2 = "ABC" Output: "ABC" Exam
Thumbnail
題目敘述 題目會給兩個陣列nums1和nums2。 題目要求我們從中同步選擇長度為k的子序列,並且最大化子序列的分數, 回傳最高的分數值。 分數的定義: 分數 = (nums1[i0] + nums1[i1] +...+ nums1[ik - 1]) * min(nums2[i0] ,
Thumbnail
題目敘述 題目會給我們一個參數k 和 目標值n。 請問我們從1~9內挑k個相異的數字,使得他們的總和為n 的組合數有多少? 挑選時,每個數字必須相異,而且每個數字只能選一次。 題目的原文敘述 測試範例 Example 1: Input: k = 3, n = 7 Output: [
Thumbnail
題目敘述 題目會給定我們一棵二元數Binary Tree的根結點。 問我們任意祖先節點和晚輩節點之間,最大的差值的絕對值是多少? 題目的原文敘述 測試範例 Example 1: Input: root = [8,3,10,1,6,null,14,null,null,4,7,13] Ou