亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

安吉县| 兴业县| 绥化市| 仁化县| 六安市| 磴口县| 宜川县| 江陵县| 南丹县| 彭阳县| 宿迁市| 昌宁县| 兰坪| 鹤岗市| 兴业县| 荃湾区| 紫云| 包头市| 准格尔旗| 同江市| 桐乡市| 池州市| 夏津县| 鄂尔多斯市| 德兴市| 蒙山县| 淅川县| 海伦市| 弥渡县| 大关县| 大丰市| 滦平县| 武鸣县| 农安县| 长子县| 龙川县| 宁城县| 新乡县| 绥阳县| 运城市| 青冈县|