fork download
  1. #include <stdio.h>
  2.  
  3. int fib1(int n) {
  4. int i,f0=0,f1=1,fn=0;
  5. if(n==1) {
  6. fn=1;
  7. }
  8. for(i=2;i<=n;i++) {
  9. fn = f0+f1;
  10. f0=f1;
  11. f1=fn;
  12. }
  13. return fn;
  14. }
  15. int fib2(int n) {
  16. int f[n],i;
  17. f[0] = 0;
  18. f[1] = 1;
  19. for(i=2;i<=n;i++) {
  20. f[i] = f[i-1] + f[i-2];
  21. }
  22. return f[n];
  23. }
  24. int fib3(int n) {
  25. if(n==0) {return 0;
  26. } else if(n==1) {
  27. return 1;
  28. } else {
  29. return fib3(n-1) + fib3(n-2);
  30. }
  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 0s 5280KB
stdin
Standard input is empty
stdout
1:0
2:0
3:1