fork download
  1. #include <stdio.h>
  2.  
  3. int fib1(int n) {
  4. int a = 0, b = 1, c, i;
  5. for(i = 2; i <= n; i++) {
  6. c = a + b;
  7. a = b;
  8. b = c;
  9. }
  10. return c;
  11. }
  12.  
  13. int fib2(int n) {
  14. int a[50], i;
  15.  
  16. a[0] = 0;
  17. a[1] = 1;
  18. for(i = 2; i <= n; i++) {
  19. a[i] = a[i - 1] + a[i - 2];
  20. }
  21. return a[n];
  22. }
  23.  
  24. int fib3(int n) {
  25. if(n == 0)
  26. return 0;
  27. else if (n == 1)
  28. return 1;
  29. else
  30. return fib3(n - 1) + fib3(n - 2);
  31. }
  32.  
  33. int main() {
  34. int n;
  35. scanf("%d", &n);
  36.  
  37. printf("1:%d\n", fib1(n));
  38. printf("2:%d\n", fib2(n));
  39. printf("3:%d\n", fib3(n));
  40.  
  41. return 0;
  42. }
Success #stdin #stdout 0s 5324KB
stdin
5
stdout
1:5
2:5
3:5