赞
踩
获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。
题目描述
程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。
出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常。
比如:
小明识破了司机的伎俩,准备利用自己的学识打败司机的阴谋。
给出计费表的表面读数,返回实际产生的费用。
输入描述
只有一行,数字N,表示里程表的读数。
(1<=N<=888888888)。
输出描述
一个数字,表示实际产生的费用。以回车结束。
题目解析
本题要求计算出租车计费表在司机不喜欢数字4的条件下,给出的读数对应的实际费用。计费表的特点是当某个数字位是4时,该位会被跳过,直接进入下一位的计数。例如,从3到4会跳过4直接变为5,从9到10会跳过10直接变为11(因为十位是4),依此类推。
要解决这个问题,我们可以从最低位开始,逐位计算实际应该显示的数字。如果当前位不是4,则实际数字和读数相同;如果当前位是4,则需要找到下一个不是4的位,并计算该位之前所有被跳过的位的累加值。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。