Re: [請益] 今天去面試IC設計軟體工程師被打爆的題目

作者: blackwindy (黑色的風)   2013-11-21 20:48:05
※ 引述《wildcupid (小漁歌)》之銘言:
: 還有印象的題目如下:
: (1) 請概述下列的三種程式要求,分別會遇上什麼樣的問題,又該如何解決?
: a. 輸出 99 階乘的結果
大數運算
: b. 輸出 9999*9999 的乘法表
先問int的上界多少,這依據compiler不同而可能有差異
如果2147483647 是吃的下的,最大也才99980001
: c.任意兩個 dimension size = 999999*999999 的二維矩陣,輸出相乘的結果
好的解法是都存進檔案裡,要計算的時候只讀取需要的部分出來計算
這樣記憶體就不必用這麼多
記憶體利用問題,要看硬體環境,OS,環境設定
有些OS會限制單一process總共可malloc的記憶體大小(例如XP好像是1.5GB)
所以要先預估總共會吃多少記憶體
假設每單位元素是 1 bytes
1 bytes* 999999 * 999999 大約是 1TB左右
所以如果你OS能夠管理這麼多memory(實體加虛擬)又沒有限制的話
是真的可以要到這麼多
: (2)大樂透的規則是 49 個號碼當中,取 6 個號碼開獎;只要彩券有 3 個以上的號碼與
: 開獎結果相同,就是中獎。依此規則請問:
: a. 最少需買幾張才可以保證中一張?
此題我認為原po題目有誤 (我錯了 題目無誤qq)
應該說至少需買幾張"不重複"的彩卷才能保證中一張
所以只要買齊:
全部號碼都不同 + 恰好1個號碼相同 + 恰好2個號碼相同 + 剩餘可能中的任意一張
那一張就必中獎,因為其他不會中的都買過了
: b. 概述如何以程式驗證 a.的答案。
產生 全部號碼都不同 + 恰好1個號碼相同 + 恰好2個號碼相同 的所有可能
計算數量之後驗算即可
要注意彩卷號碼是無視順序的
所以程式寫的好就不會多跑到那些重複的,可節省運算時間
剩下2題相信都有解了
那題圓周率應該是牛頓逼近法 印象中高中有算過
作者: drkkimo (花貓~ 努力工作)   2012-01-21 21:01:00
題目無誤 它問"最少" 你應該可以用歸納法證明出 若有一買法 是"最少"的買法 但買法裡又有重覆 那會矛盾
作者: drkkimo (花貓~ 努力工作)   2012-01-21 21:02:00
我是指第2題
作者: blackwindy (黑色的風)   2012-01-21 21:05:00
OK我懂你的意思了 也對 最少就表示不會有重覆出現
作者: blackwindy (黑色的風)   2012-01-21 21:06:00
感謝樓上意見
作者: stosto (樹多)   2012-01-22 01:27:00
買彩卷那題就是最少張但是要必中,所以中獎是有可能一張以上

Links booklink

Contact Us: admin [ a t ] ucptt.com