#include <iostream>
#include <cstdio>
using namespace std;
const int N = 4010;
#define mod 2147483648
long long f[N];//从前i个物品中选,且体积恰好为j的所有选法方案的集合
int n;
int main()
{
cin>>n;
f[0]=1; //从前i个数中选,且总和为0的选法有1种,就是什么都不选
for (int i=1;i<=n;i++)
for (int j=i;j<=n;j++) //完全背包从小到大枚举
f[j]=(f[j]+f[j-i])%mod;
cout<<(f[n]-1)%mod<<endl; //题目要求至少要拆分成两个数的和,因此需要去掉只有一个数的情况
return 0;
}
求关注
好的