Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
20705 | 王循 | 自然数的拆分 | C++ | 通过 | 100 | 0 MS | 248 KB | 386 | 2021-06-19 20:06:44 |
#include <bits/stdc++.h> using namespace std; int n; int a[105]; void dfs(int sum,int deep,int ma) { if(sum>=n) { if(sum==n) { cout<<n<<'='<<a[1]; for(int i=2; i<=deep; i++)cout<<'+'<<a[i]; cout<<endl; } } else { for(int i=min(ma,n-sum); i>=1; i--) { a[deep+1]=i; dfs(sum+i,deep+1,a[deep+1]); } } } int main() { cin>>n; dfs(0,0,n); }