阿摩線上測驗 登入

申論題資訊

試卷:110年 - 110 地方政府特種考試_四等_資訊處理:程式設計概要#104849
科目:程式設計
年份:110年
排序:0

申論題內容

一、請使用 C、C++、C#、Java 或 Python 程式語言,撰寫一個可以接受整數array 及一個目標整數值的 twoSum()方法,此方法會找出 array 中兩個整數值相加結果等於目標整數值的註標位置,並回傳由此兩註標所組成的array;主程式則負責呼叫 twoSum(dataArray, targetValue)方法,並顯示結果。您的方法中必需檢查輸入 array 至少有兩個整數值相加結果等於目標整數值,否則回傳 Null/None,同時主程式應測試如下的資料並顯示結果:
測試一:dataArray { 3,11,14,6},目標值 9,回傳顯示 0,3
測試二:dataArray { 3,11,14,6},目標值 18,回傳顯示 None 或 Null
註:只需找出一組答案。
註:如果無法找出兩個 array 內的整數值加總等於目標值,則回傳 Null or None。
限制:所撰寫的方法內,不可以使用任何程式語言內建或第三方提供的套件,即 python/java 不可以使用 import,C++、C#不可以使用 using再加入套件……

詳解 (共 2 筆)

詳解 提供者:肉圓室友

//以下以C++撰寫
void twoSum(int A[],int target){
    bool find=0; //是否已找到 
    for(int i=0;i<4;i++){
        for(int j=0;j<4;j++){
            if(i!=j && A[i]+A[j]==target && find==0){
                cout<<i<<" "<<j;
                find=1;
            }
        }
    }
    if(find==0) cout<<"Null";
}

int main(){
    int dataArray[4]={3,11,14,6};
    twoSum(dataArray,9);
}

詳解 提供者:hchungw
使用 Python 編寫的程式,該程式包括一個 twoSum 方法來找出數組中兩個整數相加等於目標值的索引位置,並回傳這些索引組成的數組。如果找不到,則回傳 None。同時,主程式負責呼叫 twoSum 方法並顯示結果。
python
複製程式碼
        
        
def twoSum(dataArray, targetValue):
    for i in range(len(dataArray)):
        for j in range(i + 1, len(dataArray)):
            if dataArray[i] + dataArray[j] == targetValue:
                return [i, j]
    return None
def main():
    # 測試一
    dataArray = [3, 11, 14, 6]
    targetValue = 9
    result = twoSum(dataArray, targetValue)
    print(f"測試一結果: {result}")  # 應顯示 [0, 3]
    # 測試二
    dataArray = [3, 11, 14, 6]
    targetValue = 18
    result = twoSum(dataArray, targetValue)
    print(f"測試二結果: {result}")  # 應顯示 None
if __name__ == "__main__":
    main()

說明
twoSum 函式:此函式接受兩個參數,分別是數組 dataArray 和目標值 targetValue。它使用雙重迴圈來檢查數組中的每一對元素,並判斷它們的和是否等於目標值。如果找到符合條件的一對元素,回傳它們的索引。如果遍歷整個數組後仍未找到,則回傳 None。
main 函式:這是主程式,包含兩組測試資料。它呼叫 twoSum 函式並顯示結果。