程式測驗:
===
1.
有一排燈泡彼此串連,後一個燈泡連著前面的燈泡,只有當前面的燈泡都亮起時,燈泡才會亮,給定一個數列 {2, 3, 4, 1, 5},表示:
在第 0 次時開啟 2 號燈泡的開關,由於 1 號燈泡沒有被亮,所以此時 2 號燈泡不會亮;
在第 1 次時開啟 3 號燈泡的開關,由於 1 號燈泡與 2 號燈泡沒有亮,所以此時 3 號燈泡不會亮;
在第 2 次時開啟 4 號燈泡的開關,由於 1 號燈泡,2 號燈泡,與 3 號燈泡皆沒有亮,所以 4 號燈泡不會亮;
在第 3 次時開啟 1 號燈泡的開關,由於 1 號燈泡是第一個燈泡,打開開關時,燈泡便會亮,同時因為 1 號燈泡亮,已打開開關的 2 號燈泡也亮起,同理,3 號 4 號燈泡皆亮起;
在第 4 次時開啟 5 號燈泡的開關,由於前面的燈泡都亮著,所以 5 號燈泡也會亮;
因此我們說,依照這個數列順序將燈泡開啟時,第 k 次開啟的那個燈泡會亮的情形會發生 2 次;
請寫一個 function,輸入為一個 int 數列 A 與數列元素個數 N,
假設:
1. A 的元素兩兩皆不相同
2. A 的元素在集合 {1, 2, 3,..., N} 中
3. N 為集合 {1, 2, 3,..., N} 中的元素
假設表示 function 不需要檢查這些假設,輸入必符合這些假設。
重點是正確性而不是效率
int solution(int A[], int N){}
2.
給定兩個字串 T 與 S ,檢測 T 是否包含 S ;檢測項目如下:
1. 若 T 為 nicer , S 為 nice ,則回傳 "INSERT r";
2. 若 T 為 ill , S 為 will ,則回傳 "REMOVE w";
3. 若 T 為 tale , S 為 sale ,則回傳 "CHANGE s t";
4. 若 T 為 relate , S 為 rate ,則回傳 "IMPOSSIBLE";
char *solutione(char *T, char *S){}