OJ 1972 :计算f(m,n)

来源:互联网 发布:小智代练淘宝店网址 编辑:程序博客网 时间:2024/06/02 19:52

问题及代码

题目描述

一个简单的计算,你需要计算f(m,n),其定义如下: 当m=1时,f(m,n)=n; 当n=1时,f(m,n)=m; 当m>1,n>1时,f(m,n)= f(m-1,n)+ f(m,n-1)

输入

第一行包含一个整数T(1<=T<=100),表示下面的数据组数。 以下T行,其中每组数据有两个整数m,n(1<=m,n<=2000),中间用空格隔开。

输出

对每组输入数据,你需要计算出f(m,n),并输出。每个结果占一行。

样例输入

21 12 3

样例输出

17
/*烟台大学计算机学院 2016作者: 马春澎完成日期:2016年12月25日 */#include <stdio.h>#include <stdlib.h>int s;int f(int m,int n);int main(){    int i,t,m,n;    scanf("%d",&t);    for(i=0; i<t; i++)    {        scanf("%d%d",&m,&n);        f(m,n);        printf("%d\n",f(m,n));    }    return 0;}int f(int m,int n){    if(m==1)    {        return n;    }    else if(n==1)    {        return m;    }    else    {        return  f(m-1,n)+f(m,n-1);    }}
运算结果
知识点总结
递归方法的简单应用
学习心得
对递归方法更加熟悉,对函数的应用能力仍需加强。

0 0
原创粉丝点击