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

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

第五题:

进入函数内部:

 

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. }

🐲结语:

如果对您有帮助的话,

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

如果对您有帮助的话,

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

如果对您有帮助的话,

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

相关文章
|
4月前
使用递归
【10月更文挑战第20天】使用递归。
24 8
|
9月前
|
算法 C语言
c递归
c递归
52 2
|
6月前
|
算法
【算法】递归总结:循环与递归的区别?递归与深搜的关系?
【算法】递归总结:循环与递归的区别?递归与深搜的关系?
155 0
|
9月前
|
算法 C#
C#递归详解
C#递归详解
86 0
|
JavaScript 前端开发
什么是递归?
什么是递归?
180 0
|
算法 C语言
糊里糊涂的递归和递归经典题(上)
糊里糊涂的递归和递归经典题
108 0
认识了解递归的原理,学会递归的运用
认识了解递归的原理,学会递归的运用
|
存储 算法 C++
递归的应用
递归的应用
|
算法 Python
递归的使用
递归的使用
61 0