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
广告