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