C++ 代码计算数字 n 的重量拆分的数量


假设我们有一个数 n。我们可以将 n 拆分为一个非递增的正整数序列,其和为 n。拆分的权重是拆分中等于第一个元素的元素数。因此,拆分 [1,1,1,1,1] 的权重为 5,拆分 [5,5,3,3,3] 的权重为 2,拆分 [9] 的权重为 1。我们必须找出 n 的拆分的不同权重的数量。

因此,如果输入类似 n = 7,那么输出将为 4,因为可能的权重为 [7]、[3, 3, 1]、[2, 2, 2, 1]、[1, 1, 1, 1, 1, 1, 1]

步骤

为了解决这个问题,我们将按照以下步骤进行 -

return (n / 2 + 1)

示例

让我们看以下实现示例,以获得更好的理解 -

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

输入

7

输出

4

更新日期: 30-3-2022

142 次浏览

开启你的 职业生涯

完成课程获得认证

开始
广告