Bài toán: Phân hoạch n thành dãy giảm không tăng các số nguyên dương. "Trọng lượng" = số phần tử bằng phần tử đầu. Tìm số trọng lượng khác nhau có thể có.
Kết quả toán học: Số trọng lượng khác nhau = floor(n/2) + 1.
Code C++
#include <bits/stdc++.h>
using namespace std;
int solve(int n) {
return n / 2 + 1;
}
int main() {
cout << solve(7) << endl; // 4
return 0;
}
Kết quả
4
Ví dụ n=7: trọng lượng có thể là 1,2,3,4 (tương ứng phân hoạch [7], [3,3,1], [2,2,2,1], [1x7]).