鱼C论坛

 找回密码
 立即注册
查看: 1131|回复: 2

[已解决]C语言小白;卷子上的一道题不会,请教大家。

[复制链接]
发表于 2022-1-18 17:19:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码如下,我正在学习c语言,目前学的有点费解,这是卷子上的一道题,答案是13,自己打一遍的结果也是13,但我想不明白为什么。有大佬帮忙解答一下吗?

  1. #include <stdio.h>

  2. int f(int n){
  3.        
  4.         if (n == 0){
  5.                 return 1;
  6.         }
  7.         if (n == 1){
  8.                 return 1;
  9.         }
  10.         return f(n-1)+f(n-2);
  11.        
  12. }

  13. int main(){
  14.        
  15.         printf("%d", f(6));

  16.         return 0;
  17.        
  18. }
复制代码


最佳答案
2022-1-18 17:32:26
  1. f(n-1) + f(n-2); n = 6
  2. (6-1) + (6-2) =  5 + 3
  3. n = 5                       n = 3
  4. (5-1) + (5-2) = 4 + 2       (3-1) + (3 -2) = 2 + 1
  5. n = 4                       n = 2   
  6. (4-1) + (4-2) = 3 + 2       (2-1) + (2 -2) = 1+0
  7. n = 1 return 1              n = 0 return 1

  8. 然后就往上推,
  9. n = 2 时 结果就是 1 + 1 = 2
  10. n = 3 时 结果就是 2 + 1 = 3
  11. n = 4 时 结果就是 3 + 2 = 5
  12. n = 5 时 结果就是 5 + 3 = 8
  13. n = 6 时 结果就是 8 + 5 = 13
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-18 17:32:26 | 显示全部楼层    本楼为最佳答案   
  1. f(n-1) + f(n-2); n = 6
  2. (6-1) + (6-2) =  5 + 3
  3. n = 5                       n = 3
  4. (5-1) + (5-2) = 4 + 2       (3-1) + (3 -2) = 2 + 1
  5. n = 4                       n = 2   
  6. (4-1) + (4-2) = 3 + 2       (2-1) + (2 -2) = 1+0
  7. n = 1 return 1              n = 0 return 1

  8. 然后就往上推,
  9. n = 2 时 结果就是 1 + 1 = 2
  10. n = 3 时 结果就是 2 + 1 = 3
  11. n = 4 时 结果就是 3 + 2 = 5
  12. n = 5 时 结果就是 5 + 3 = 8
  13. n = 6 时 结果就是 8 + 5 = 13
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-18 18:54:10 | 显示全部楼层
和斐波那契数列类似,斐波那契数列是F(0) = 0 F(1) = 1
只求结果没什么意义,数学归纳法也能算出来。重点是递归 和 dp思想

这里有篇分析斐波那契数列的,建议你好好研究下
https://leetcode-cn.com/problems ... na-qi-shu-lie-1yxx/
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-25 02:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表