(递归)整数分解为若干项之和
来源:互联网 发布:乐视手机怎么关闭网络 编辑:程序博客网 时间:2024/06/01 21:37
输入样例:
7
输出样例:
7=1+1+1+1+1+1+1;7=1+1+1+1+1+2;7=1+1+1+1+3;7=1+1+1+2+27=1+1+1+4;7=1+1+2+3;7=1+1+5;7=1+2+2+27=1+2+4;7=1+3+3;7=1+6;7=2+2+37=2+5;7=3+4;7=7
#include<iostream>using namespace std;int a[31], sum, cnt, top = -1;void f(int i, int n){ int k, j; if(sum == n) { cnt++; cout<<n<<"="; for(k = 0; k < top; k++) cout<<a[k]<<"+"; if(cnt % 4 == 0 || a[top] == n) cout<<a[top]<<endl; else cout<<a[top]<<";"; return ; } if(sum > n) return ; for(j = i; j <= n; j++) { a[++top] = j; sum += j; f(j, n); sum -= j;//回溯 top--;//回溯 }}int main(){ int n; cin>>n; f(1, n); return 0;}
6的执行过程,部分截图
这个不好理解,再看看。。。。
阅读全文
0 0
- 递归 整数分解为若干项之和
- (递归)整数分解为若干项之和
- 整数分解为若干项之和——递归思想
- pta 5-37 整数分解为若干项之和 (递归)
- pta 5-37 整数分解为若干项之和 (递归)
- 递归之整数分解为若干项之和(深度搜索加回溯法)
- 整数分解为若干项之和
- pat 整数分解为若干项之和
- 整数分解为若干项之和
- 整数分解为若干项之和
- PTA-整数分解为若干项之和
- PTA 整数分解为若干项之和
- 整数分解为若干项之和
- 整数分解为若干项之和(20 分)
- 5-37 整数分解为若干项之和 (20分)
- cccc --5-3 整数分解为若干项之和
- 实验案例2-3:整数分解为若干项之和
- 5-37 整数分解为若干项之和 (20分)
- AttributeError: module 'os' has no attribute 'mknod'
- RSA加密算法验证(C#实现)
- 并发编程(2)-多个线程多个锁
- 前段ps奇巧淫技
- Sprng框架 的学习!
- (递归)整数分解为若干项之和
- 叫你怎样让你的Java项目上线(企业级Java项目上线全攻略)
- Java数据库连接(Java Database Connectivity,JDBC)
- 洛谷 P2387 魔法森林
- HDU
- Hibernate第二章
- Linux学习(十五)LVM
- Qt写入卸载信息
- 安卓popupwindow输入框无法输入问题