nyoj 176 整数划分(二)

来源:互联网 发布:qq空间域名申请 编辑:程序博客网 时间:2024/05/18 03:16

整数划分(二)

时间限制: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

#include<stdio.h>int g(int m,int n){    if(m<n)    return 0;    if(m==1||n==1||m==n)    return 1;    if(m>n)    return g(m-1,n-1)+g(m-n,n);}int main(){    int t,m,n,s;    scanf("%d",&t);    while(t--)    {        scanf("%d%d",&m,&n);        printf("%d\n",g(m,n));    }}

 

原创粉丝点击