亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

手把手帶你用java搞定青蛙跳臺階

 更新時間:2021年08月06日 11:02:06   作者:rampant boy  
這篇文章主要給大家介紹了關于Java青蛙跳臺階問題的解決思路與代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

問題描述

一只青蛙一次可以跳上 1 級臺階,也可以跳上2 級。求該青蛙跳上一個n 級的臺階總共有多少種跳法

問題剖析

n=1

image-20210805233806858

此時有一種跳法。

n=2

image-20210805234136424

此時有兩種跳法。

n=3

image-20210805234432836

此時有三種跳法。

n=4

image-20210805235034434

此時有五種跳法。

小結

當有n級臺階時,青蛙可以跳1級,也可以跳2級。如果它跳1級,那么還剩下n-1級臺階;如果它跳2級,那么還剩下n-2級臺階。因此n級臺階的跳法等于n-1級臺階跳法加上n-2級臺階跳法之和,也就是:

image-20210806000524145

而如此遞歸下去,最后n就減到了1和2。

Java代碼示例

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    int n = scanner.nextInt();
    int ret = frogJumping(n);
    System.out.println(ret);
}
public static int frogJumping(int n) {
    if(n == 1) {
        return 1;
    } else if(n == 2) {
        return 2;
    } else {
        return frogJumping(n - 1) + frogJumping(n - 2);
    }
}

例如,當n=5時,結果為:

image-20210805235809493

附:C語言實現(xiàn)青蛙跳臺階

#include<stdio.h>
int FrogJumping(int n)
{
	if (n == 1)
	{
		return 1;
	}
	else if (n == 2)
	{
		return 2;
	}
	else
	{
		return FrogJumping(n - 1) + FrogJumping(n - 2);
	}
}
int main()
{
	int n = 0;
	scanf("%d", &n);
	int ret = FrogJumping(n);
	printf("%d級臺階有%d種跳法", n, ret);
	return 0;
}

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!

相關文章

最新評論