糊里糊涂的递归和递归经典题(下)

简介: 糊里糊涂的递归和递归经典题(下)

第五题:

进入函数内部:

 

1. #include <stdio.h>
2. 
3. int Dig(int n)
4. {
5.  if (n > 9)
6.    return Dig(n / 10) + n % 10;
7.  else
8.    return n;
9. }
10. int main()
11. {
12.   int n = 0;
13.   scanf("%d", &n);
14.   int ret = Dig(n);
15.   printf("%d\n", ret);
16. 
17.   return 0;
18. }

 

第六题:

用递归实现 n 的 k 次方

进入函数内部:

 

1. #include <stdio.h>
2. 
3. double Pow(int n, int k)
4. {
5.  if (k > 0)
6.    return n * Pow(n, k - 1);
7.  else if (k == 0)
8.    return 1;
9.  else
10.     return 1.0 / Pow(n, -k);
11. }
12. int main()
13. {
14.   int n = 0;
15.   int k = 0;
16.   scanf("%d %d", &n, &k);
17.   double ret = Pow(n, k);
18.   printf("%lf\n", ret);
19. 
20.   return 0;
21. }

 

第七题:

小乐乐上课需要走 n 阶台阶,

所以每次可以选择走一阶或者走两阶,那么他一共有多少种走法?

进入函数内部:

 

1. #include <stdio.h>
2. 
3. int jump(int n)
4. {
5.  if (n <= 2)
6.    return n;
7.  else
8.    return jump(n - 1) + jump(n - 2);
9. }
10. int main()
11. {
12.   int n = 0;
13.   scanf("%d", &n);
14.   int ret=jump(n);
15.   printf("%d\n", ret);
16. 
17.   return 0;
18. }

🐲结语:

如果对您有帮助的话,

不要忘记点赞+关注哦,蟹蟹

如果对您有帮助的话,

不要忘记点赞+关注哦,蟹蟹

如果对您有帮助的话,

不要忘记点赞+关注哦,蟹蟹

相关文章
|
2月前
递归
【10月更文挑战第23天】递归。
23 4
|
5月前
|
算法
【算法】递归总结:循环与递归的区别?递归与深搜的关系?
【算法】递归总结:循环与递归的区别?递归与深搜的关系?
132 0
|
7月前
|
机器学习/深度学习 存储 算法
算法学习:递归
算法学习:递归
79 0
|
8月前
递归详解~
递归详解~
86 0
经典递归问题:汉诺塔【超详解】
经典递归问题:汉诺塔【超详解】
751 0
|
算法 C语言
糊里糊涂的递归和递归经典题(上)
糊里糊涂的递归和递归经典题
认识了解递归的原理,学会递归的运用
认识了解递归的原理,学会递归的运用
|
算法 C++ 异构计算
|
存储 算法 程序员
算法学习<3>---递归
算法学习<3>---递归
115 0
算法学习<3>---递归
|
算法
算法提升 (四) 递归
算法提升 (四) 递归
147 0
算法提升 (四) 递归