fork download
  1. #include <stdio.h>
  2.  
  3. int fib1(int n){
  4. int a1, a2=1, a3=0, i;
  5. for(i=2;i<=n;i++)
  6. {
  7. a1=a2+a3;
  8. a3=a2;
  9. a2=a1;
  10. }
  11. return a1;
  12. }
  13. int fib2(int n){
  14. int b[58], p;
  15. b[0]=0; b[1]=1;
  16. for(p=2;p<=n;p++){
  17. b[p]=b[p-1]+b[p-2];
  18.  
  19. }
  20. return b[n];
  21. }
  22. int fib3(int n){
  23. if(n==0)
  24. return 0;
  25. else if(n==1)
  26. return 1;
  27. else
  28. return fib3(n-1)+fib3(n-2);
  29.  
  30. }
  31.  
  32. int main(void){
  33. int n;
  34.  
  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. return 0;
  41. }
  42.  
Success #stdin #stdout 0s 5312KB
stdin
4
stdout
1: 3
2: 3
3: 3