首页 > 代码库 > 使用元编程,用最简单的递归构造快速斐波那契数函数。
使用元编程,用最简单的递归构造快速斐波那契数函数。
使用元编程和模板递归技术,既可以使最原始的递归方程具备惊人的快速高效。
template <int T>class metafib {public: static const long long fib=metafib<T-1>::fib+metafib<T-2>::fib;};template <>class metafib<1> {public: static const int fib=1;};template <>class metafib<2> {public: static const int fib=2;};
测试代码:
int main(){ long a1=clock(); cout<<metafib<200>::fib<<endl; long a2=clock(); cout<<a2-a1;}
速度与迭代法的fib近似,
跌打法fib:
long long fibcal(long long n){ if(n<=2) return n; n-=2; long long a=1; long long b=2; while(n--){ b=a+b; a=b-a; } return b;};
使用元编程,用最简单的递归构造快速斐波那契数函数。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。