Computer >> Máy Tính >  >> Lập trình >> C ++

Mã C ++ để đếm số lượng phân chia trọng lượng của một số n

Giả sử chúng ta có một số n. Chúng ta có thể chia n thành một dãy số nguyên dương không giảm, có tổng là n. Trọng số của một phép chia là số phần tử trong phép chia bằng với phần tử đầu tiên. Vì vậy, trọng lượng của phép chia [1,1,1,1,1] là 5, trọng lượng của phép chia [5,5,3,3,3] là 2 và trọng lượng của phép chia [9] bằng 1 . Chúng ta phải tìm ra số trọng lượng khác nhau của các phần tách n.

Vì vậy, nếu đầu vào là n =7, thì đầu ra sẽ là 4, vì các trọng số có thể là [7], [3, 3, 1], [2, 2, 2, 1], [1, 1, 1 , 1, 1, 1, 1]

Các bước

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

return (n / 2 + 1)

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#include <bits/stdc++.h>
using namespace std;
int solve(int n){
   return (n / 2 + 1);
}
int main(){
   int n = 7;
   cout << solve(n) << endl;
}

Đầu vào

7

Đầu ra

4