fibi.cpp

来自「经典c++程序的实现」· C++ 代码 · 共 32 行

CPP
32
字号
#include <iostream.h>
#include <stdlib.h>
#include <assert.h>

#include "..\include\book.h"

long Fibi(int n) { // Fibi(n) must fit in a long, so n < 47
  long curr, prev;
  assert((n>0) && (n<47));
  if ((n == 1) || (n == 2)) return 1;
  curr = prev = 1;           // curr holds current Fib value
  for (int i=3; i<=n; i++) { // Compute next value
    curr = prev + curr;
    prev = curr - prev;     // prev holds previous Fib value
  }
  return curr;
}

int main(int argc, char** argv) {
  int n;

  if(argc != 2) {
    cout << "Usage: fibi <n>\n";
    exit(-1);
  }

  n = atoi(argv[1]);

  cout << "Fib(" << n << ") = " << Fibi(n) << "\n";
  return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?