fork download
  1. #include <stdio.h>
  2. int fib1(int n){
  3. int a,b,c,i;
  4. a=0;
  5. b=1;
  6. for(i=2;i<=n;i++){
  7. c=a+b;
  8. a=b;
  9. b=c;
  10. }
  11. return c;
  12. }
  13.  
  14. int fib2(int n){
  15. int f[47],i;
  16. f[0]=0;
  17. f[1]=1;
  18. for(i=2;i<=n;i++){
  19. f[i]=f[i-1]+f[i-2];
  20. }
  21. return f[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(void) {
  34. int n;
  35. scanf("%d",&n);
  36. printf("1:%d\n",fib1(n));
  37. printf("2:%d\n",fib2(n));
  38. printf("3:%d\n",fib3(n));
  39. return 0;
  40. }
  41.  
Success #stdin #stdout 0.01s 5288KB
stdin
5
stdout
1:5
2:5
3:5