이 튜토리얼에서는 나누거나 있는 그대로 고려하여 최대값을 찾는 프로그램에 대해 설명합니다.
이를 위해 정수 값이 제공됩니다. 우리의 임무는 숫자를 재귀적으로 네 부분으로 나누거나 주어진 함수 F(n) =max( (F(n/2) + F(n/3) + F(n/4) + F(n/5)), n).
예시
#include <bits/stdc++.h>
using namespace std;
//calculating the maximum result
int findMaximum(int size) {
int term[size + 1];
term[0] = 0;
term[1] = 1;
int i=2;
while(i <= size) {
term[i] = max(i, (term[i / 2] + term[i / 3] + term[i / 4] + term[i / 5]));
i = i+1;
}
return term[size];
}
int main() {
int number = 37;
cout << "Maximum possible sum: " << findMaximum(number)<< endl;
return 0;
} 출력
Maximum possible sum: 57