程式測驗: === 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){}