顯示廣告
隱藏 ✕
※ 本文為 BruceX 轉寄自 ptt.cc 更新時間: 2013-11-22 15:14:04
看板 Tech_Job
作者 blackwindy (黑色的風)
標題 Re: [請益] 今天去面試IC設計軟體工程師被打爆的題目
時間 Thu Nov 21 20:48:05 2013


※ 引述《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題相信都有解了
那題圓周率應該是牛頓逼近法 印象中高中有算過

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.131.251
drkkimo:題目無誤  它問"最少"  你應該可以用歸納法證明出 若有一1F 11/21 21:01
drkkimo:買法 是"最少"的買法 但買法裡又有重覆  那會矛盾
drkkimo:我是指第2題
blackwindy:OK我懂你的意思了 也對 最少就表示不會有重覆出現4F 11/21 21:05
blackwindy:感謝樓上意見
※ 編輯: blackwindy      來自: 61.230.131.251       (11/21 21:13)
stosto:買彩卷那題就是最少張但是要必中,所以中獎是有可能一張以6F 11/22 01:27
stosto:上

--
※ 看板: Tech_Job 文章推薦值: 0 目前人氣: 0 累積人氣: 6823 
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇