- 自然数的拆分
快
- @ 2026-8-6 11:54:18
#include<bits/stdc++.h> using namespace std; int n; int a[10001]={1}; void print(int t){ cout<<n<<"="; for(int i=1;i<=t-1;i++) cout<<a[i]<<"+"; cout<<a[t]<<endl; } void dfs(int s,int t){ for(int i=a[t-1];i<=s;i++){ if(i<n){ a[t]=i; s-=i; if(s==0) print(t); else dfs(s,t+1); s+=i; } } }
int main(){ cin>>n; dfs(n,1); return 0; }
0 条评论
目前还没有评论...
信息
- ID
- 1538
- 时间
- ms
- 内存
- MiB
- 难度
- 2
- 标签
- 递交数
- 254
- 已通过
- 98
- 上传者