91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言中如何使用遞歸解決青蛙跳臺階問題

發布時間:2021-11-20 14:33:42 來源:億速云 閱讀:196 作者:小新 欄目:開發技術

這篇文章主要介紹C語言中如何使用遞歸解決青蛙跳臺階問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

一、求解思路

臺階的數量為n。

當 n = 1 時,青蛙有一種跳法,即跳1級臺階。

當 n = 2 時,青蛙有兩種跳法,即跳兩次1級臺階或跳一次2級臺階。

當 n = 3 時,青蛙可以先跳2級臺階再跳1級臺階,也可以選擇先跳1級臺階再跳2級臺階,或者是跳三次1級臺階。依次類推,我們就能知道臺階數為n時青蛙的跳法。

但是,這樣子是不是很麻煩呢,再仔細想一下。

還是當 n = 3 時,我們選擇先跳1級臺階,剩下的2級臺階的跳法,是不是就是當 n = 2 時青蛙的跳法;我們選擇先跳2級臺階,剩下的1級臺階的跳法,是不是就是當 n = 1 時青蛙的跳法。

由此可知,n = 3 時青蛙的跳法為 n = 1 時的跳法加上 n = 2 時的跳法。

當 n = N 時,N個臺階的跳法為 N-1 的跳法加上 N-2 的跳法。

乍一看,是不是感覺和斐波那契數列有點像,當然,還是有一丟丟不一樣的,不過我們可以用同樣的數學思想來解決這個問題。

二、代碼實現

1.參考代碼

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
 
int flog(int n)
{
	if (n == 1)	
		return 1;	
	else if (n == 2)
		return 2;	
	else
		return flog(n - 1) + flog(n - 2);
}
int  main()
{
	int n = 0;
    int ways = 0;
	printf("請輸入臺階的數量:");
	scanf("%d", &n);
	ways = flog(n);
	printf("青蛙有%d種跳法",ways);
	return 0;
}

2.運行結果

C語言中如何使用遞歸解決青蛙跳臺階問題

以上是“C語言中如何使用遞歸解決青蛙跳臺階問題”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仲巴县| 万源市| 兴义市| 阳曲县| 颍上县| 封开县| 南丹县| 定陶县| 中方县| 芜湖市| 和顺县| 鹤庆县| 临邑县| 东丰县| 大足县| 嘉定区| 堆龙德庆县| 林州市| 礼泉县| 元江| 舞阳县| 海南省| 紫阳县| 阿荣旗| 桐庐县| 紫金县| 凤山县| 巴塘县| 文山县| 南充市| 安远县| 海宁市| 视频| 富源县| 襄城县| 松江区| 客服| 周口市| 巴彦淖尔市| 西昌市| 宁城县|