1002:遞迴法求最大值
阿新 • • 發佈:2018-11-25
Problem Description
設整數序列a1,a2,...,an,給出求解最大值的遞迴程式。
Input
有多組資料,每組第一行為序列長度n(0<n<50),第二行為該整數序列的各元素。
Output
輸出該整數序列中的最大值。
Sample Input
5 -2 4 10 2 3 5 8 1 -1 6 5
Sample Output
10 8
#include <iostream> #include <vector> using namespace std; int getMax ( int data[], int begin ,int end ) { if ( begin == end ) return data[begin]; int a = getMax (data,begin,(begin+end)/2) ; int b = getMax ( data,(begin+end)/2+1,end ); return a>b?a:b; } int main () { int data[50],n; while(cin>>n){ for(int i=0;i<n;i++) { cin>>data[i]; } cout << getMax (data,0, n-1 ) << endl; } return 0; }