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