解题思路:DFS
注意事项:以后的每一项都要比当前的数大
参考代码:
#include<iostream>
using namespace std;
int n;
int a[100]={1};
void dfs(int x,int y){
if(x==0){
cout<<n<<"=";
for(int i=1;i<y-1;i++)
cout<<a[i]<<"+";
cout<<a[y-1];
cout<<endl;
}
for(int i=a[y-1];i<=x;i++){
if(i<n){
a[y]=i;
dfs(x-i,y+1);
}
}
}
int main(){
cin>>n;
dfs(n,1);
return 0;
}
0.0分
3 人评分
WU-printf基础练习2 (C++代码)浏览:2061 |
C语言训练-数字母 (C语言代码)浏览:648 |
关于C语言变量位置的问题浏览:294 |
母牛的故事 (C语言代码)浏览:1045 |
A+B for Input-Output Practice (C语言代码)浏览:505 |
程序员的表白 (C语言代码)浏览:678 |
理财计划 (C语言代码)浏览:494 |
C语言程序设计教程(第三版)课后习题12.5 (C语言代码)浏览:799 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:630 |
字符串对比 (C++代码)浏览:597 |