当前位置:   article > 正文

c语言实例之腾讯面试题_return tencent(n - 1) + tencent(n - 2)

return tencent(n - 1) + tencent(n - 2)
  1. <span style="font-size:18px;">#include <stdio.h>
  2. #include <stdlib.h>
  3. //腾讯面试问题:有50个台阶,一次走一步或者走两步,有多少种可能
  4. double tencent(int n)
  5. {
  6. if(n==1)
  7. {
  8. return 1.0;
  9. }
  10. else if(n==2)
  11. {
  12. return 2.0;
  13. }
  14. else
  15. {
  16. return tencent(n-1)+tencent(n-2);
  17. }
  18. }
  19. double tt(int n)
  20. {
  21. double n1 = 1.0;
  22. double n2 = 2.0;
  23. double n3 = 0;
  24. int i;
  25. for( i=0;i < n;i++)
  26. {
  27. n3 = n1 + n2;
  28. n1 = n2;
  29. n2 = n3;
  30. }
  31. return n3;
  32. }
  33. double ttt(int n)
  34. {
  35. int i;
  36. double num[50];
  37. num[0] = 1.0;
  38. num[1] = 2.0;
  39. for(i=2;i<n;i++)
  40. {
  41. num[i] = num[i-1]+num[i-2];
  42. }
  43. return num[n-1];
  44. }
  45. int main1()
  46. {
  47. printf("总步数为:%lf\n",tencent(12));
  48. printf("总步数为:%lf\n",tt(10));
  49. printf("总步数为:%lf\n",ttt(12));
  50. system("pause");
  51. return 0;
  52. }</span>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/828181
推荐阅读
相关标签
  

闽ICP备14008679号