我怎么做1000以下的fibonaci序列?

y2k*_*y2k -6 c++ fibonacci

#include <iostream>
using namespace std;
void main()
{
  int i = 0;
  while (i < 1000)
  {
      int TEMP = i * 2;
      cout << i << endl;
      TEMP = i;
      i = i +1;
      // ???
  }

  return;
}
Run Code Online (Sandbox Code Playgroud)

我很困惑??:(

GMa*_*ckG 12

Fibonacci序列F是F(n) = F(n - 1) + F(n - 2), F(0) = 0, F(1) = 1.

这是一些伪代码:

Start Counter1 at 0
Start Counter2 at 1.

For i = 0 to 1000
    New value = Counter1 + Counter2
    Print new value

    Counter2 = Counter1
    Counter1 = New Value
End For
Run Code Online (Sandbox Code Playgroud)

这不会打印出0或1; 它从F(2)开始.您可以通过先打印0和1来轻松解决此问题.此外,此代码打印前1000个数字.如果将其更改为:While Counter1 < 1000,则在到达或通过1000时将停止.

由您来实现它,并确保您了解它是如何工作的.