C++版本 17:菲波那契數列
17:菲波那契數列
總時間限制: 1000ms 記憶體限制: 65536kB
描述
菲波那契數列是指這樣的數列: 數列的第一個和第二個數都為1,接下來每個數都等於前面2個數之和。給出一個正整數k,要求菲波那契數列中第k個數是多少。
輸入
輸入一行,包含一個正整數k。(1 <= k <= 46)
輸出
輸出一行,包含一個正整數,表示菲波那契數列中第k個數的大小
樣例輸入
19
樣例輸出
4181
解法一:遞迴解法(時間複雜度高)
#include<bits/stdc++.h>
using namespace std;
int func(int n){
if(n == 1 || n == 2){
return 1;
}
return func(n - 1) + func(n - 2);
}
int main()
{
int n;
cin >> n;
cout << func(n);
}
解法二:非遞迴解法
#include<bits/stdc++.h>
using namespace std;
int func(int n){
if(n == 1 || n == 2){
return 1;
}
int n1 = 1, n2 = 1, sum = 0;
for(int i = 3; i <= n; i++){
sum = n1 + n2;//2
n1 = n2;
n2 = sum;
}
return sum;
}
int main()
{
int n;
cin >> n;
cout << func(n);
}
相關文章
- 菲波那契數——根據輸入資料中的n,輸出第n項菲波那契數
- 斐波那契數列
- 斐波那契數列(Java)Java
- 斐波那契數列 (C#)C#
- PHP 與斐波那契數列PHP
- 斐波那契數列詳解
- 著名的斐波那契數列
- 菲波那契數 時間限制: 1000 ms 記憶體限制: 65536 KB 提交數: 51737 通過數: 26371 【題目描述】 菲波那契數列是指這樣的數列: 數列的第一個和記憶體
- js實現斐波那契數列JS
- 斐波那契數列演算法演算法
- 裴波那契數列(javascript實現)JavaScript
- 第十題:斐波那契數列
- [C103] 斐波那契數列
- 力扣之斐波那契數列力扣
- 劍指offer——斐波那契數列
- 斐波那契數列js 實現JS
- 斐波那契數列Ⅳ【矩陣乘法】矩陣
- 斐波那契數
- 斐波那契數列的來源——數兔子
- 斐波那契數列數與等冪和
- 使用Python實現斐波那契數列Python
- 演算法(1)斐波那契數列演算法
- 大數斐波那契數列的演算法演算法
- 菲波那切數列(劍指offer)---c語言C語言
- js迭代器實現斐波那契數列JS
- offer通過--9斐波那契數列-2
- 演算法一:斐波那契阿數列演算法
- JavaScript 實現:輸出斐波那契數列JavaScript
- 斐波那契數列:7數5層魔法塔(3)
- 斐波那契數列:7數5層魔法塔(2)
- 斐波那契數列:7數5層魔法塔(5)
- 斐波那契數列:7數5層魔法塔(8)
- 斐波那契數列:7數5層魔法塔(13)
- 斐波那契數列:7數5層魔法塔(12)
- 斐波那契數列:7數5層魔法塔(10)
- 斐波那契數列:7數5層魔法塔(11)
- 斐波那契數列:7數5層魔法塔(7)
- 斐波那契數列:7數5層魔法塔(15)