C 语言青蛙跳台阶,

目录

前言:

一: 递归是什么


前言:

新学习了一个跳台阶问题,用递归的方式向大家介绍。青蛙一次跳1个台阶,也可以跳2个台阶。

一: 递归是什么

递归我也就不长篇大论说了, 简单来说, 就是函数调用自己。把大问题简化成一个小问题.  

有一个限制条件,每次递归(调用自己)就越接近,这个限制条件。最后返回。

n的阶乘 可以写成  n*(n-1)!   = n*(n-1)*(n-2)!

二: 介绍跳台阶

 绿色代表 青蛙

青蛙 可以直接跳到  1台阶或者2台阶, 跳在1台阶在跳到2台阶。

        跳第3个台阶,   一个台阶,一个台阶跳

                                  先跳 一个台阶, 跳两个台阶

                                 先跳两个台阶,跳一个台阶 

       跳到第4个台阶         一个台阶一个台阶跳

                                        先跳一个台阶,跳 两个台阶,跳一个台阶

                                        先跳一个台阶,跳一个台阶,跳两个台阶

                                        先跳两个台阶, 跳两个台阶

                                         先跳两个台阶, 一个台阶,一个台阶跳

三: 代码

int ti(int n)
{
	if(n == 1 )
	{
		return 1;
	}
   
     if (n == 2)
    {
	    return 2;
    }
	
    else 
	{
		return ti(n - 1) + ti(n - 2);
	}

}
int main()
{
	int a = 0;
	scanf("%d", &a);
	int g = ti(a);
	printf("%d", g);
	return 0;
}

 

举几个例子,试验一下证明结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值