top1编程
← 返回题目
题解

【基础】自然数的拆分方案总数

1 条题解

  • 0
    @ 2026-7-29 0:18:10
    #include <bits/stdc++.h>
    using namespace std;
    long long dp[200005],m,n;
    int main(){
    	cin >> n;
    	dp[0]=1;
    	for(int i=1;i<=n;i++){
    		for(int j=i;j<=n;j++){
    			if(j>=i) dp[j]=(dp[j]+dp[j-i])%2147483648;
    		}
    	}
    	cout << dp[n]-1;
    	return 0;
    }
    
    • 1