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