avatar-decorate
code5bug level
获赞
905
粉丝
996
关注
835
看过 TA
5292
门头沟学院
2014
算法工程师
IP属地:湖北
暂未填写个人简介
私信
关注
头像
2024-02-28 17:38
已编辑
门头沟学院 算法工程师
OD统一考试(C卷) 分值: 100分 题解: Java / Python / C++   题目描述 程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。 出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常。 比如:   23再多一块钱就变为25;   39再多一块钱变为50;   399再多一块钱变为500;   小明识破了司机的伎俩,准备利用自己的学识打败司机的阴谋。 给出计费表的表面读数,返回实际产生的费用。 输入描述 只有一行,数字N,表示里程表的读数。 (1<=N<=888888888...
牛客30400529...:有这么个思路看上去似乎能用,各位看看有没有问题: 逢4在对应位多加1,只要发生进位,那么从进制来看是9进制,只不过遇到4提前加1然后超过9进位,而不是自然统计到9后进位,那么大体上是比较接近把9进制转成10进制的结果的,不过毕竟因为进制转换的方式和真正的9进制有点差异,把输入所有位都和4对比,大于4的都减一就得到了按照9进制处理的实际花费,再按照9进制转换下即可: s = input() # string output_string = '' for i in s: num = int(i) if num > 4: output_string += str(num - 1) else: output_string += str(num) print(int(output_string, 9))
投递华为等公司10个岗位
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务