fork download
  1. #include <stdio.h>
  2.  
  3. int fib1(int n){
  4. int i;
  5. int q=0;
  6. int w=1;
  7. int e;
  8. if(n==0){
  9. return 0;
  10. }else if(n==1){
  11. return 1;
  12. }else{
  13. for(i=2;i<=n;i++){
  14. e=q+w;
  15. q=w;
  16. w=e;
  17. }
  18. return w;
  19. }
  20. }
  21.  
  22. int fib2(int n){
  23. int i;
  24. if (n==0){
  25. return 0;
  26. }else{
  27. int fib[n+1];
  28. fib[0]=0;
  29. fib[1]=1;
  30. for (i=2;i<=n;i++){
  31. fib[i] = fib[i-1] + fib[i-2];
  32. }
  33. return fib[n];
  34. }
  35. }
  36.  
  37. int fib3(int n){
  38. if(n==0){
  39. return 0;
  40. }else if(n==1){
  41. return 1;
  42. }else{
  43. return fib3(n-1)+fib3(n-2);
  44. }
  45. }
  46.  
  47. int main(void) {
  48. int a;
  49. scanf("%d",&a);
  50. if(a<0){
  51. printf("書き直し");
  52. }else{
  53. printf("%d\n",fib1(a));
  54. printf("%d\n",fib2(a));
  55. printf("%d\n",fib3(a));
  56. }
  57. return 0;
  58. }
  59.  
Success #stdin #stdout 0s 5284KB
stdin
5
stdout
5
5
5