递归-整数划分问题
来源:互联网 发布:wps for mac好用吗 编辑:程序博客网 时间:2024/05/11 23:02
在正整数n的所有划分中,将最大加数不大于m的划分个数记作q(n,m),根据n与m的大小的不同情况进行处理,可以得到有多少种划分方式。
正整数6有11种不同的划分方式,所以q(6,6) = 11。
6;
5 + 1;
4 + 2, 4 + 1 + 1;
3 + 3, 3 + 2 + 1, 3 + 1 + 1 + 1;
2 + 2 + 2, 2 + 2 + 1 + 1, 2 + 1 + 1 + 1 + 1;
1 + 1 + 1 + 1 + 1 + 1;
//整数划分问题#include <stdio.h>int q(int n, int m){ if((n < 1) || (m < 1)) return 0; if((n == 1) || (m == 1)) //n或m等于1时显然只有一种划分方法 return 1; if(n < m) //n<m实际上就是q(n,n)的划分 return q(n, n); if(n == m) //n等于m时,除去直接分为n的这一划分,还有q(n,m-1)的划分 return q(n, m-1) + 1; return q(n, m-1) + q(n-m, m);//除去上述所有情况,还有对于n不大于m-1的划分 //和对于n-m不大于m的划分}int main(){ int i = q(10, 3); printf("整数10的不大于3点的划分有:%d\n", i); return 0;}
0 0
- 递归--整数划分问题
- 递归-整数划分问题
- 递归-整数划分问题
- 递归---整数划分问题
- 递归-整数划分问题
- 整数划分问题(递归算法)
- 整数划分问题 递归法
- 递归求解整数划分问题
- 整数划分问题 ----- 递归算法
- 整数划分问题递归算法
- 整数划分问题(递归)
- 整数划分问题(递归)
- 递归经典整数划分问题
- 整数划分问题(递归&非递归)
- 【递归】排列问题,整数划分问题,Hanoi
- 整数划分问题(递归策略)
- c++: 递归算法整数划分问题
- 整数划分问题---动态规划、递归
- 在方法中使用闭包
- [LeetCode]80. Remove Duplicates from Sorted Array II
- STL伪函数应用
- 串口VMIN VTIME 详解
- 【Leetcode】Min Stack
- 递归-整数划分问题
- Socket实现聊天客户端
- HashMap和HaspTable的区别
- Android网络编程(五)OkHttp2.x用法全解析
- linux串口资料
- Ubuntu 安装 Authpuppy过程
- MQL:引用指标的方式
- Android系统自带样式(android:theme)
- 原型(-)