作者hanck ( )
看板Soft_Job
標題[請益] MTK 面試測驗請教
時間Sat Jun 12 00:22:35 2010
今兒個去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)
1F:→ hugh3306:1我只想的到用function pointer陣列 XD 06/12 00:42
2F:→ Jeffxx:我lag了0.0 06/12 00:46
3F:→ kaikaii:1. ?: plus log(n)(binary search,5個數字保證三步內找到) 06/12 00:53
4F:→ ducah:只有五個數字 function pointer array 一步就找到了 06/12 00:59
5F:推 kaikaii:got it.. 感覺非常好用 XD 06/12 01:07
6F:→ kaikaii:不過有個問題 func pointer的初始算不算一步? 06/12 01:12
7F:推 ibmibmibm:用靜態方式初始化就好了 06/12 01:13
8F:→ kaikaii:ok 這個答案不錯 感謝~ 06/12 01:14
9F:→ realmeat: funtion pointer array 06/12 08:29
10F:推 alongalone:看來大家都是想到function pointer array...呵呵 06/12 10:48
11F:推 ilovebbs:直覺是建表..囧 不過用fptr快多了..XD 06/12 11:17
12F:→ rofellosx:第2題用題1的作法會如何? 06/12 14:27
13F:推 loveflames:規定要用if,應該想考不同的觀念吧 06/12 14:29
14F:推 mryf:第一題可以這樣寫嗎? (((n==1) && execute func1)) || (n==2) 06/13 01:23
15F:→ mryf:&& execute func2) || ((n==3) && execute func3) || ((n==4) 06/13 01:24
16F:→ mryf:&& execute func4) || ((n==5) && execute func5)); 06/13 01:24
17F:→ bleed1979:同樣的招式對聖鬥士是沒用的,so,1.考語法,2.考算法。 06/13 01:25
18F:推 ckdarkknight:第二題用Hashtable應該有搞頭 06/13 18:20
19F:推 wefun:這討論串回應真長 因為是mtk ?? 06/14 11:36
20F:推 bobhsiao: 錢很多 06/14 13:20
21F:推 Leeng: 先猜猜看 第一題用指標mod 5 第二題用指標mod不知道多少 11/21 14:04
22F:→ Leeng: 一個最大公約數 要湊湊看 11/21 14:05