[cpp] view plain copy #include <iostream> using namespace std; #define size 10 //求一個有序数组中和等于某个数的算法 //若成功则返回1 若失败则返回-1 //采用从两端分别降低区间 int togetherAdd(int arr[],int value) { int i=0; int j=size-1; while(i<=j) { if(i==j)return -1; if((arr[i]+arr[j])==value)return 1; if((arr[i]+arr[j])>value)j--; if((arr[i]+arr[j])<value)i++; } } int main() { int arr[]={1,5,12,13,20,100,111,112,200,400}; cout<<togetherAdd(arr,121); return 0; }