看板 Soft_Job 關於我們 聯絡資訊
今兒個去MTK面試寫考卷看到兩題題目想跟大家請教一下 1. extern void func1(void); extern void func2(void); extern void func3(void); extern void func4(void); extern void func5(void); void main(int n) { if n==1 execute func1; if n==2 execute func2; if n==3 execute func3; if n==4 execute func4; if n==5 execute func5; } 保證 n 一定是上面五個數字之一 不能用if 和 switch case , 請用你認為最快的方法實作main 2. extern void func1(void); extern void func2(void); extern void func3(void); extern void func4(void); extern void func5(void); void main(int n) { if n==33 execute func1; if n==67 execute func2; if n==324 execute func3; if n==231 execute func4; if n==687 execute func5; } 保證 n 一定是上面五個數字之一 使用if, 請用你認為最快的方法實作main 這兩題難度都是標記困難,所以我想第二題應該不會只是單純用if else 而第一題無法下手......不知道有沒有高手指導一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.137.69.243 ※ 編輯: hanck 來自: 220.137.69.243 (06/12 00:23)
hugh3306:1我只想的到用function pointer陣列 XD 06/12 00:42
Jeffxx:我lag了0.0 06/12 00:46
kaikaii:1. ?: plus log(n)(binary search,5個數字保證三步內找到) 06/12 00:53
ducah:只有五個數字 function pointer array 一步就找到了 06/12 00:59
kaikaii:got it.. 感覺非常好用 XD 06/12 01:07
kaikaii:不過有個問題 func pointer的初始算不算一步? 06/12 01:12
ibmibmibm:用靜態方式初始化就好了 06/12 01:13
kaikaii:ok 這個答案不錯 感謝~ 06/12 01:14
realmeat: funtion pointer array 06/12 08:29
alongalone:看來大家都是想到function pointer array...呵呵 06/12 10:48
ilovebbs:直覺是建表..囧 不過用fptr快多了..XD 06/12 11:17
rofellosx:第2題用題1的作法會如何? 06/12 14:27
loveflames:規定要用if,應該想考不同的觀念吧 06/12 14:29
mryf:第一題可以這樣寫嗎? (((n==1) && execute func1)) || (n==2) 06/13 01:23
mryf:&& execute func2) || ((n==3) && execute func3) || ((n==4) 06/13 01:24
mryf:&& execute func4) || ((n==5) && execute func5)); 06/13 01:24
bleed1979:同樣的招式對聖鬥士是沒用的,so,1.考語法,2.考算法。 06/13 01:25
ckdarkknight:第二題用Hashtable應該有搞頭 06/13 18:20
wefun:這討論串回應真長 因為是mtk ?? 06/14 11:36
bobhsiao: 錢很多 06/14 13:20
Leeng: 先猜猜看 第一題用指標mod 5 第二題用指標mod不知道多少 11/21 14:04
Leeng: 一個最大公約數 要湊湊看 11/21 14:05