整数拆分问题
来源:互联网 发布:数据库基础pdf 编辑:程序博客网 时间:2024/06/10 05:29
整数拆分问题(EOJ-1009)
将正整数n表示成一系列正整数之和: n=n1+n2+…+nk,
其中n1≥n2≥…≥nk≥1(k≥1)正整数 n 的这种表示称为正整数 n 的拆分。求正整数 n 的不同拆分个数。
例如,正整数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>#include <stdlib.h>#include <memory.h>int s[101][101];//保存已经计算过的int divide(int n, int m){ if(s[n][m]==-1) { if(m==1||n==1) s[n][m]=1;//递归出口 else if(m>n) s[n][m]=divide(n,n); else if(m==n) s[n][m]=1+divide(n,n-1); else s[n][m]=divide(n-m,m)+divide(n,m-1); } return s[n][m];}int main(){ int n; memset(s,-1,sizeof(s)); while(scanf("%d",&n)!=EOF) printf("%d\n",divide(n,n)); return 0;}
0 0
- 整数拆分问题
- 整数拆分问题
- 整数拆分问题
- 整数的拆分问题
- 整数拆分问题
- 整数拆分问题详解
- 整数的拆分问题
- 整数拆分问题
- 整数拆分问题
- 整数拆分问题(1)
- 整数的拆分问题(允许重复)
- 整数的拆分问题(不允许重复)
- 整数拆分问题的分析(dfs)
- 整数拆分(划分)问题 递归
- 整数拆分问题 ----递归法
- 整数拆分问题的四种解法
- 整数拆分并且乘积最大问题
- 整数拆分问题(和与积)
- 求四个数的最大公约数
- 电脑眼睛保护色
- BZOJ_P1467/POJ_P3243 Clever Y(扩展BSGS+哈希)
- 面向对象OO 设计、架构终极理解, 以及如何学习一个领域
- HDU 1213 How Many Tables(并查集)
- 整数拆分问题
- STL容器的实现原理
- HDU 1064 Financial Management
- rv-player 不靠谱之rvio
- 作图
- Animoto Video Maker(制作短视频)
- Myeclipse project转换为eclipse project的正确方法(Myeclipse8.5版本转到eclipse java ee juno)
- 经典的js 代码段
- 面试大全2