日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小明爬楼梯

發布時間:2023/12/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小明爬楼梯 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <iostream> #include <iomanip> using namespace std; /*可愛的小明特別喜歡爬樓梯,他有的時候一次爬一個臺階, 有的時候一次爬兩個臺階,有的時候一次爬三個臺階。 如果這個樓梯有36個臺階,小明一共有多少種爬法呢?*///n層臺階,走一步剩下n-1層臺階,有n-1層臺階它自己那么多種走法,即有f(n-1)種走法 //n層臺階,走兩步剩下n-2層臺階,有n-2層臺階它自己那么多種走法,即有f(n-2)種走法 //n層臺階,走兩步剩下n-3層臺階,有n-3層臺階它自己那么多種走法,即有f(n-3)種走法 //遞歸,第一步有三種走法,第二步進入第一層遞歸,然后又是第一步,。。。剩下有對應自己的走法 //循環版本double Fibonacci(int n) {double y = 0.0, f1 = 1.0, f2 = 2.0, f3 = 4.0;if (n > 0){switch (n){case 1:y = f1;break;case 2:y = f2;break;case 3:y = f3;break;default:for (int i = 4; i <= n; ++i){y = f1 + f2 + f3;f1 = f2;f2 = f3;f3 = y;}}}return y; }/* //遞歸版本(壞方法),也可以用動態規劃存起來,但還是沒有循環快 double Fibonacci(int n) {double y;if (n > 0){if (1 == n){y = 1;//一個臺階只有一種走法}else if (2 == n){y = 2;//兩個臺階有2種走法,1、1;2 }else if (3 == n){y = 4;//三個臺階有4種走法,1、1、1;1,2;2,1;3 }else{y = Fibonacci(n - 1) + Fibonacci(n - 2) + Fibonacci(n - 3);}return y;} }*/int main() {int n;double y;cin >> n;y = Fibonacci(n);cout << setprecision(20) << y << endl;return 0; }========================================Talk is cheap, show me the code=======================================

轉載于:https://www.cnblogs.com/lcy0515/p/9179827.html

總結

以上是生活随笔為你收集整理的小明爬楼梯的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。