Fibonacci - Soft Forum P.C. Club

#include <stdio.h>

int main(int argc, char **argv) {
  int a = 0, b = 1, c, n, count, result;
  scanf("%d", &n);  // nを読み込み
  // nはカウンターとして使って減らしてしまうので, 取っておく
  count = n;
  if (n == 0) {
    // n == 0 のとき Fib(0) = 0
    result = 0;
  } else if (n == 1) {
    // n == 1 のとき Fib(1) = 1
    result = 1;
  } else {
    // n >= 2 のとき
    n -= 1;
    // Fn-2 = a, Fn-1 = b
    // cは一時保存用
    while (n--) {
      c = a + b;
      a = b;
      b = c;
    }
    result = b;
  }
  printf("Fib(%d) = %d\n", count, result);
  return 0;
}

Soft Forum P.C. Club