JSK-25 兩數之和【暴力】
阿新 • • 發佈:2018-12-10
給定一個數組 numberi,找到兩個數,使得他們的和為一個給定的數值 target。
其中:number[index1]+number[index2]==target。
注意:index1必須小於 index2 且不能為 0。假設每一組輸入只有唯一的一組解。
例如,對於陣列 [2,7,11,15] 和 target=9,index1 的值為 1,index2 的值為 2。
輸入格式
第一行輸入一個整數 n(1≤n≤500),接下來的兩行分別輸入 n 個整陣列成的陣列 numberi(0≤numberi≤1000) 和一個整數 target(0≤target≤1000)。
輸出格式
輸出一行由空格分隔的兩個整數 index1和 index2。注意,下標從 1 開始
樣例輸入
3 5 75 25 100
樣例輸出
2 3
問題描述:(略)
問題分析:
這個題用暴力法來實現。通俗地說是暴力法,也就是列舉法。
程式說明:
為了保證不充分比較,並且滿足題意的要求,控制好迴圈就可以了。
參考連結:(略)
題記:暴力法是常用的方法。
AC的C語言程式如下:
/* JSK-25 兩數之和 */ #include <stdio.h> #define N 500 int a[N]; int main(void) { int n, target, i, j; scanf("%d", &n); for(i = 0; i < n; i++) scanf("%d", &a[i]); scanf("%d", &target); int flag = 1; for(i = 0; flag && i < n; i++) for(j = i + 1; j < n; j++) if(a[i] + a[j] == target) { printf("%d %d\n", i + 1, j + 1); flag = 0; break; } return 0; }