PTA-整数分解为若干项之和
2017-03-09 16:53
218 查看
点击打开题目链接~
#include <iostream> #include <algorithm> #include <cstring> #include <string> #include <cmath> using namespace std; int n; int sum; int s[64]; int top=-1; int Count=0; void dfs(int x) { if(sum==n)//输出结果 { Count++; cout<<n<<"="; for(int i=0;i<top;i++) { cout<<s[i]<<"+"; } if(Count%4==0||s[top]==n)//当输出为此行第四个结果或者输出为n=n时 cout<<s[top]<<"\n"; else cout<<s[top]<<";"; return ; } if(sum>n) return ; for(int i=x;i<=n;i++) {//题目要求递增顺序,应从x开始遍历,而非1 sum+=i; s[++top]=i; dfs(i); sum-=i;//回溯 top--; } } int main() { cin>>n; dfs(1); }
相关文章推荐
- PTA 7-12 整数分解为若干项之和(20 分)
- pta 5-37 整数分解为若干项之和 (递归)
- PTA 5-37 整数分解为若干项之和
- pta 5-37 整数分解为若干项之和 (递归)
- PTA 整数分解为若干项之和
- (PTA)7-1 整数分解为若干项之和
- PTA 7-1 整数分解为若干项之和(20 分)
- 7-1 整数分解为若干项之和(20 分)(dfs)
- 递归之整数分解为若干项之和(深度搜索加回溯法)
- 整数分解成若干项之和(DFS)拓展延伸
- 5-37 整数分解为若干项之和 (20分)
- (递归)整数分解为若干项之和
- 整数分解为若干项之和——递归思想
- pat 整数分解为若干项之和
- 整数分解为若干项之和(20 分)
- 5-37 整数分解为若干项之和(递归)
- 5-37 整数分解为若干项之和 (20分)
- 7-37 整数分解为若干项之和
- 整数分解为若干项之和
- 整数分解为若干项之和