0
点赞
收藏
分享

微信扫一扫

解题报告(9)简单递归

小云晓云 2022-04-14 阅读 46
c语言

第一题

我的思路:

循环判断阶乘尾数是否为0

但似乎阶乘太大溢出了

 

 

标答的思路是

寻找阶乘中有几个尾数0,就是在找阶乘里有几个因子10

如11!=11*10*(3*3)*(2*4)*7*(2*3)*5*4*3*2*1

由于10只能由2*5组成,所以就是在找阶乘中有几对2和5,由于2肯定比5多,所以只要找有几个5就可以了,

因此是return n/5+trazeroes(n/5)

注:递归式由数学关系得到 

 

第二题

 

 第三题

 

 思路:递归思想,先写结束条件,当需要计数的时候,多思考在return里计数,return里的不仅是调用函数命令,也将他视作为一个数

第四题

 

 

 

 要求二叉树的深度,就求左子树和右子树深度最大值再加一,左子树和右子树也可以这么求,当访问到最下面的节点时,return,他的值是1,

注:此时max(root->left)和max(root->right)可视为同时执行

举报

相关推荐

0 条评论