Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

C++: Số trọng lượng phân hoạch số n

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]).