首页 > 其他 > 详细

OJ刷题之《计算题》

时间:2014-12-26 22:58:08      阅读:330      评论:0      收藏:0      [点我收藏+]

题目描述

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

输入

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

输出

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

样例输入

2

1 1

2 3

 

样例输出

1

7


代码如下:

#include <iostream>
using namespace std;
int f(int, int);
int main()
{
	int m, n, T, i , str[100];
	cin >> T;
	if (T >= 1 && T <= 100)
	{
	   for (i=0;i<T;++i)
	   {
			cin >> m >> n;
			str[i] = f(m, n);
	   }
		for (i = 0; i < T; ++i)
			cout << str[i] << endl;
	}
	return 0;
}

int f(int m, int n)
{
	if (m == 1)
		return n;
	else if (n == 1)
		return m;
	else if (m == 1 && n == 1)
		return 1;
	else if (m > 1 && n > 1)
		return (f(m - 1, n) + f(m, n - 1));
}

运行结果:

技术分享





OJ刷题之《计算题》

原文:http://blog.csdn.net/liuchang54/article/details/42178781

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