刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

编写程序计算n(n小于等于10)位数中,包含奇数个5的个数。比如1位数中包含奇数个5的个数是1个。利用递推方法计算n位数包含奇数个5的个数。完善划线处的代码。

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

【喵呜刷题小喵解析】此题要求计算n位数中,包含奇数个5的个数。利用递推方法,我们可以先计算n-1位数中,包含奇数个5的个数,再乘以10^(n-1),得到n位数中,以0-9中任意数字开头的,包含奇数个5的个数。然后,计算n-1位数中,包含偶数个5的个数,再乘以9 * 10^(n-2),得到n位数中,以5开头的,包含偶数个5的个数。两者相加,即为n位数中,包含奇数个5的个数。具体实现时,当n为1时,只有数字5,包含奇数个5的个数为1。对于n大于1的情况,我们可以使用递归方法,先计算n-1位数中,包含奇数个5的个数,再乘以10^(n-1),得到n位数中,以0-9中任意数字开头的,包含奇数个5的个数。同时,计算n-1位数中,包含偶数个5的个数,再乘以9 * 10^(n-2),得到n位数中,以5开头的,包含偶数个5的个数。两者相加,即为n位数中,包含奇数个5的个数。以上述思路,我们可以写出如下的Python代码:```pythondef count_odd_5s(n):if n == 1:return 1else:return 10 ** (n - 1) * count_odd_5s(n - 1) + 9 * 10 ** (n - 2)print(count_odd_5s(3))```该代码会输出3位数中包含奇数个5的个数。
创作类型:
原创

本文链接:编写程序计算n(n小于等于10)位数中,包含奇数个5的个数。比如1位数中包含奇数个5的个数是1个。利

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share