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