nyoj整数划分(二)
来源:互联网 发布:商务通软件 编辑:程序博客网 时间:2024/05/21 09:19
整数划分(二)
时间限制:1000 ms | 内存限制:65535 KB
难度:3
- 描述
把一个正整数m分成n个正整数的和,有多少种分法?
例:把5分成3个正正数的和,有两种分法:
1 1 3
1 2 2
- 输入
- 第一行是一个整数T表示共有T组测试数据(T<=50)
每组测试数据都是两个正整数m,n,其中(1<=n<=m<=100),分别表示要拆分的正数和拆分的正整数的个数。 - 输出
- 输出拆分的方法的数目。
- 样例输入
25 25 3
- 样例输出
22
当n == m || m == 1的时候只有一种情况,要么分成n个1,要么分成一个数n
当n < m 时,不够分,返回0
当n > m 时,
第一种情况,含1,剩下n - 1分成m-1个数,
第二种情况,不含1,先将n分成m个1,再将n - m分成m个数加上原来的1
#include <stdio.h>#include <stdlib.h>int fun(int n, int m){ if(n == m || m == 1) return 1; if(n < m) return 0; if(n > m) return fun(n - m, m) + fun(n - 1, m - 1); return 0;}int main(){ int n, num, m; scanf("%d", &n); while(n--) { scanf("%d%d", &num, &m); printf("%d\n", fun(num, m)); } return 0;}
0 0
- NYOJ - 整数划分(二)
- nyoj整数划分(二)
- nyoj整数划分(二)
- NYOJ 整数划分(二)
- nyoj 整数划分(一)(二)
- nyoj 176 整数划分(二)
- NYOJ 题目176整数划分(二)
- nyoj 176— 整数划分(二)
- nyoj 176 整数划分(二)【dp】
- NYOJ 176 整数划分(二)
- NYOJ 176 整数划分(二)(DP)
- NYOJ 176 整数划分(二)
- NYOJ 176 整数划分(二)
- NYOJ 题目176整数划分(二)(递归)
- NYOJ 176 整数划分(二) (dp)
- 整数划分(二)
- 整数划分(二)
- 整数划分(二)
- 利用反射获取Java类中的静态变量名及变量值
- hdu 1039 Easier Done Than Said?
- Java中的switch-case语句
- 苹果开发 笔记(86)Stack View in xcode 7
- hdu 1800 Flying to the Mars(贪心)
- nyoj整数划分(二)
- C++局部对象的析构
- 虚函数、纯虚函数详解
- LeJOS学习(8):Sensor的API研究-InfraRedSensor
- [BZOJ1782] [Usaco2010 Feb]slowdown 慢慢游
- Git分支管理策略
- 逻辑运算符 && || ! 的一些理解
- 备忘kettle
- long long unsigned long long 的最大值最小值在不同平台测试