重生之我是一名程序员 39 ——C语言题目之青蛙跳台阶

哈喽啊大家晚上好!今天给大家带来的是C语言经典题目之青蛙跳台阶。青蛙跳台阶是一个数学问题,也是一个经典的递归问题。假设一只青蛙要跳上一个n级台阶,它可以每次跳1级台阶或2级台阶。问:青蛙跳上这个n级台阶总共有多少种不同的跳法?

要想解决这个问题,我们首先要对问题进行分析。首先,设青蛙跳上n级台阶时有f(n)种跳法,那么在青蛙进行最后一步跳跃时,它肯定只能跳一级台阶或者两级台阶。那么,我们就可以分两种情况经行分析:

1.当青蛙最后一跃为一级台阶时:除去最后一级台阶,前面的n-1级台阶就会有f(n-1)种跳法;

2.当青蛙最后一跃为二级台阶时:除去最后的二级台阶,前面的n-2级台阶就会有f(n-2)种跳法;

那么,逻辑已经理清楚了,现在我们就用代码去实现它。首先我们需要设置一个递归函数用来运算青蛙跳台阶的所有方法,比如:

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

最后,我们在mian函数中调用这个递归函数即可解决青蛙跳台阶的问题了

代码如下:

#include 

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

int main() {
    int n;
    printf("请输入一个正整数:");
    scanf("%d", &n);
    printf("%d级台阶,青蛙有%d种跳法\n", n, jump_step(n));
    return 0;
}

那么,今天的知识分享就到此结束啦,感谢大家的支持!各位明天见!

你可能感兴趣的:(c语言,开发语言,排序算法,青少年编程)