<仅是自己做笔记。。。系列-11>输入n,用最快的方法求Fibonacci数列的第n项。
来源:互联网 发布:win10有网络不能上网 编辑:程序博客网 时间:2024/04/20 09:39
#include <iostream>using namespace std;class CFibonacci{public: CFibonacci() { vi[1] = 0.0; vi[2] = 1.0; } double getNth(int n) { if(n < 0) return -1; else if(n == 0) { return 0.0; } else if(n == 1) { return 1.0; } for(int i = 2;i <= n;i ++) { vi[0] = vi[1]; vi[1] = vi[2]; vi[2] = vi[1] + vi[0]; } return vi[2]; }private: double vi[3];};int main(int argc, char *argv[]){ CFibonacci a; cout << a.getNth(46) << endl; return 0;}<pre name="code" class="cpp">//这是类似于上面的递归,速度也还不错
long fibonacci(int n,long prepre,long pre,int begin = 2){ if(n == 0) return 0; else if(n == 1) { return 1; } else if(n==begin) { return pre+prepre; } return fibonacci(n, pre, prepre+pre, ++begin); //这里相当于迭代实现for-loop的浓缩}
0 0
- <仅是自己做笔记。。。系列-11>输入n,用最快的方法求Fibonacci数列的第n项。
- 定义Fibonacci数列,输入n,用最快的方法求该数列的第n项
- 输入n,用最快的方法求Fibonacci 数列的第n 项
- 【微软100题】输入n,用最快的方法求Fibonacci数列的第n项
- 19.定义Fibonacci数列,输入n,用最快的方法求该数列的第n项
- 定义Fibonacci数列如下: / 0 n=0 f(n)= 1 n=1 \ f(n-1)+f(n-2) n=2 输入n,用最快的方法求该数列的第n项。
- 每天学习一算法系列(19)(输入n,用最快的方法求该数列的第n 项)
- 数据结构——算法之(014)( 输入n,用最快的方法求Fibonacci数列的第n项)
- 17. 微软面试题:用最快的方法计算出 Fibonacci数列中的第n项
- 求Fibonacci数列的第n项
- 求Fibonacci数列的第n项
- 微软面试100题之19题:定义Fibonacci 数列如下,用最快的方法求该数列的第n 项
- 19 用最快的方法求该数列的第 n 项
- 递归实现求Fibonacci数列的第n项
- <仅是自己做笔记。。。系列-13>输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数, 使其和等于 m ,要求将其中所有的可能组合列出来.
- 求Fibonacci数列的第N个数字
- Fibonacci数列第n项的log(n)算法
- 面试100题:19.用最快的方法求斐波那契数列第n项
- 剖析怎样使用Spring的PropertyPlaceholderConfigurer占位符
- 如何查找一个变量在哪里被调用了
- C语言版Trim()函数,去除字符串中的空字符
- 警惕UNIX下的LD_PRELOAD环境变量
- UEFI下装Ubuntu Win10 双系统
- <仅是自己做笔记。。。系列-11>输入n,用最快的方法求Fibonacci数列的第n项。
- 外键值可为空
- MFC在主对话框中显示子对话框
- 关于Android Studio如何导入library project
- Android中自定义控件获取text的宽高方式
- 【MySQL】MySQL 入门教程
- 「考试」是一场考生与出题者间的猜谜游戏,不是「做学问」
- Cloud Design Pattern - Event Sourcing Pattern(事件溯源模式)
- 关于游戏《挑战巅峰》中铺砖算法的猜测 -Unity