HDOJ, 杭电2042, 不容易系列之二。。。递归题目。。

又来一发,递归的大水题。。。


代码如下:

/***** HDOJ_2042_不容易系列之二 ********/

/******** written by C_Shit_Hu ************/

///////////////简单的递归题目///////////////

/****************************************************************************/
/* 
你活的不容易,我活的不容易,他活的也不容易。不过,如果你看了下面的故事,就会知道,有位老汉比你还不容易。

重庆市郊黄泥板村的徐老汉(大号徐东海,简称XDH)这两年辛辛苦苦养了不少羊,
到了今年夏天,由于众所周知的高温干旱,实在没办法解决牲畜的饮水问题,就决定把这些羊都赶到集市去卖。
从黄泥板村到交易地点要经过N个收费站,按说这收费站和徐老汉没什么关系,但是事实却令徐老汉欲哭无泪。
由于徐老汉没钱,收费员就将他的羊拿走一半,看到老汉泪水涟涟,犹豫了一下,又还给老汉一只。
巧合的是,后面每过一个收费站,都是拿走当时羊的一半,然后退还一只,等到老汉到达市场,就只剩下3只羊了。
你,当代有良知的青年,能帮忙算一下老汉最初有多少只羊吗?
  	
Input
输入数据第一行是一个整数N,下面由N行组成,每行包含一个整数a(0<a<=30),表示收费站的数量。

Output
对于每个测试实例,请输出最初的羊的数量,每个测试实例的输出占一行。
*/
/****************************************************************************/

// 核心代码也是一行。。。递归貌似都是这样。。 

#include<stdio.h>

//  其实不必要调用函数,但是为了好看点吧。。。
int fun(int n)
{
	if(n==0)
		return 3;
	else
		return (fun(n-1)-1)*2;
	
}

// 主函数
int main()
{
	int N, i, t; 
	scanf("%d",	&N); 
	for(i=0; i<N; i++)
	{
		scanf("%d",&t);
		printf("%d\n",fun(t));
	}
	return 0;
}

/******************************************************/
/********************  心得体会  **********************/
/*
递归题目一发。。。
水题。。。

水水更健康!!!
*/
/******************************************************/


你可能感兴趣的:(HDOJ, 杭电2042, 不容易系列之二。。。递归题目。。)