首页 > 其他 > 详细

链家笔试2

时间:2017-09-02 22:25:19      阅读:290      评论:0      收藏:0      [点我收藏+]

把m升水倒入n个相同的杯子(假设容器足够大),允许有的容器是空的,共有多少种不同的倒法?(用k表示)5 1 1 和1 5 1 和1 1 5 是同一种倒法

输入:

第一行是测试数据的数目 x(0 <= x <= 20),以下每行均包含二个整数m和n,以空格分开,1<= m,n<=10

 

输出

  对输入的每行数据m和n,用一行输出对应的k

输入示例:

1

7  3

 

输出示例:

8

#include<stdio.h>

//把m升水倒入n个杯子,每个杯子的水不超过MTU。
int try(int m,int n,int MTU)
{
    //printf("%d,%d,%d\n",m,n,MTU);
    if(m>n*MTU)
        return 0;
    else if(m==0)
        return 1;
    if (MTU>m)
        return try(m,n,m);
    else{
        int i=MTU,all=0;
        while(i>0){
            all += try(m-i,n-1,i);
            i--;
        }

        return all;
    }


}

int main(void)
{
    int line;
    int m,n,k=0;
    scanf("%d",&line);
    while(line>0){
        scanf("%d%d",&m,&n);
        k=try(m,n,m);
        printf("%d\n",k);
        line--;
    }

    return 0;
}

 

链家笔试2

原文:http://www.cnblogs.com/2390624885a/p/7468003.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!