fork(1) 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[32],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) {
  26. return 0;
  27. } else if(n==1) {
  28. return 1;
  29. } else {
  30. return fib3(n-1) + fib3(n-2);
  31. }
  32. }
  33.  
  34. int main(void) {
  35. int a;
  36. scanf("%d",&a);
  37. printf("1:%d\n",fib1(a));
  38. printf("2:%d\n",fib2(a));
  39. printf("3:%d\n",fib3(a));
  40. return 0;
  41. }
  42.  
Success #stdin #stdout 0.01s 5272KB
stdin
Standard input is empty
stdout
1:0
2:0
3:0