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