怎样用C++编程统计斐波那契数列前1000项的第一数字

可以用模板在编译期计算: c++ - Calculate the Fibonacci number (recursive approach) in compile time (constexpr) in C++11#include \u0026lt;iostream\u0026gt;#include \u0026lt;type_traits\u0026gt; template\u0026lt;int N\u0026gt;constexpr int fibonacci() {return fibonacci\u0026lt;N-1\u0026gt;() + fibonacci\u0026lt;N-2\u0026gt;(); }template\u0026lt;\u0026gt;constexpr int fibonacci\u0026lt;1\u0026gt;() { return 1; }template\u0026lt;\u0026gt;constexpr int fibonacci\u0026lt;0\u0026gt;() { return 0; } template\u0026lt;size_t N\u0026gt; struct Fibonacci : std::integral_constant\u0026lt;size_t, fibonacci\u0026lt;N\u0026gt;()\u0026gt; {}; int main(){ std::cout \u0026lt;\u0026lt; Fibonacci\u0026lt;40\u0026gt;::value \u0026lt;\u0026lt; std::endl;}
■网友
代码不大忍心看,太难看,明显缺少优秀代码的阅读训练(当然教材和教员可能都不行)。算法上看起来也不怎么样,明显没仔细考虑。我就说一点,你大概是用数组 int a 计数的吧?你大概忘了 a 的下标是 0 到 8 不包括 9 吧?


    推荐阅读