数据结构与算法递归——青蛙爬井

Posted 叁滴水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法递归——青蛙爬井相关的知识,希望对你有一定的参考价值。

问题:一个井深10米,青蛙每天向上爬3米,晚上向下滑2米,多少天可以爬出去?

代码示例:

public class Well
{
	//井深
	public static int  WellDepth = 2;
	//每天向上爬
	public static int  up = 3;
	//晚上向下滑
	public static int  down = 2;
	public static void main (String[] args)
	{
		int up = Well.upWell (0, 0);
		System.out.println (up);
	}
	private static int upWell (int high,int day)
	{
		//增加1天
		day++;
		//向上爬
		high = high +up;
		//如果已经爬出去,就不存在想下滑
		if(high >= WellDepth){
			return day;
		}else{
			//向下滑
			high = high - down;
			return upWell (high,day);
		}
	}
}

注意点:到最后一天的时候,青蛙已经爬出井,因此不会再往下滑。

以上是关于数据结构与算法递归——青蛙爬井的主要内容,如果未能解决你的问题,请参考以下文章

汉罗塔与青蛙跳台阶的递归实现(及扩展青蛙跳台阶)C语言从入门到入土(入门篇)(算法篇p2)

递归和非递归:青蛙跳台阶讲解

方法递归(斐波那契数列,青蛙跳台阶,汉诺塔问题)

方法递归(斐波那契数列,青蛙跳台阶,汉诺塔问题)

方法递归(斐波那契数列,青蛙跳台阶,汉诺塔问题)

递归问题(斐波那契,青蛙跳台,汉诺塔)