首页 > 编程语言 >2024华为OD机试真题-出租车计费 、靠谱的车-(C++/Python)-C卷D卷-100分

2024华为OD机试真题-出租车计费 、靠谱的车-(C++/Python)-C卷D卷-100分

时间:2024-06-17 18:32:55浏览次数:17  
标签:读数 数字 真题 Python res OD int 计费 81

2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 

题目描述:

程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。

出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常。

比如:

  • 23再多一块钱就变为25;
  • 39再多一块钱变为50;
  • 399再多一块钱变为500;

小明识破了司机的伎俩,准备利用自己的学识打败司机的阴谋。

给出计费表的表面读数,返回实际产生的费用。

输入描述

只有一行,数字N,表示里程表的读数。

(1<=N<=888888888)。

输出描述

一个数字,表示实际产生的费用。以回车结束。

用例1

输入

5

输出

4

说明 5表示计费表的表面读数。4表示实际产生的费用其实只有4块钱。

用例2

输入

17

输出

15

说明 17表示计费表的表面读数。15表示实际产生的费用其实只有15块钱。

用例3

输入

100

输出

81

说明 100表示计费表的表面读数。81表示实际产生的费用其实只有81块钱。

考点

逻辑分析

解题思路

计费表从1开始计数,直到3,然后跳过4,继续从5计数。这意味着计费表上的每一位数字实际上只有9种可能的值:

0, 1, 2, 3, 5, 6, 7, 8, 9(跳过了4)。因此,这个计费表实际上是在使用一个基数为9的进制系统。

因此,把每位数字从高到低都按9进制加权相加,即可得到真实的数值。

代码

c++
#include <bits/stdc++.h>
using namespace std;

int main() {
    string tmp;
    cin>>tmp;
    int n=tmp.size();
    int res=0;
    for(int i=0;i<n;i++) {
        int cur=tmp[i]-'0';
        if(cur>4) {
            cur--;
        }
        res=res*9+cur;
    }
    cout<<res<<endl;
    system("pause");
    return 0;
}
python
num=input()
#真实数值大小
res=0
for i in num:
    hi=int(i) #从高位依次取出每个数字
    if hi<4:
        res=res*9+hi
    e

标签:读数,数字,真题,Python,res,OD,int,计费,81
From: https://blog.csdn.net/goldarmour/article/details/139729220

相关文章

  • 2024华为OD机试真题-API集群负载统计-(C++/Python)-C卷D卷-100分
     2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++)题目描述某个产品的RESTfulAPI集合部署在服务器集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个API的访问频次,根据热点信息在服务器节点之间做负载均衡,现在需要实现热点信息统计查询功能。RESTfulAPI是......
  • Orb Producer软件最新版下载【安装详细图文教程】
    OrbProducer是一个全面的和创新的AI驱动的插件套件,支持音乐制作人轻松创建高质量的音乐模式和循环。该套件由四个插件组成:OrbMelody、OrbBass、OrbArpeggios和OrbSynth,每个插件都提供了独特的特性和功能。​安装包获取地址:OrbProducerSuiteMac版:​​https://wm......
  • 用Python实现学生信息管理系统
    哈喽......
  • 高可用mongodb集群(分片+副本)
    参考网址:https://www.cnblogs.com/likingzi/p/16556734.html高可用mongodb集群(分片+副本):规划及部署概述mongodb是最常用的nosql数据库,以下记录如何搭建高可用mongodb集群(分片+副本)mongodb集群有三种模式:主从模式、副本集模式、sharding分片模式副本集和sharding分片模式是......
  • 基于springboot的南门桥社区疫情防疫系统-48138(免费领源码+数据库)可做计算机毕业设计J
    Springboot南门桥社区疫情防疫系统的设计与实现摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对南门桥社区疫情防疫系统等问题,对南门桥社区......
  • python中的魔法方法
    魔法方法,重载方法,重载了一些内置的操作,一些等价于重载运算符__new__为构造函数__init__为初始化函数点击查看代码classMyClass:"""静态成员变量静态成员变量是被类的所有实例共享的访问方式:通过类名."""my_static_variable=0"""......
  • Python工具箱系列(五十三)
    ​​水印水印是一种常见的图片处理需求。当既需要展示,又需要保护知识产权时,就需要使用文字或者图片来打水印。下面的代码展示了文字水印与图片水印的过程。​--javascripttypescriptbashsqljsonhtmlcssccppjavarubypythongorustmarkdownfrompathlibimportPathfromPILimp......
  • vscode使用tabnine ide插件,ai插件
    安装安装上面这个插件后,会提示登录,可以使用github在线地址登录。代码提示代码指令使用侧边栏功能总结tabninevscode插件就是一款代码ai自动补全的插件,侧边栏还可以进行代码解释、修正等功能。......
  • UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xe4 in position: invalid
    这个错误信息UnicodeDecodeError:'utf-8'codeccan'tdecodebyte0xe4inposition1665:invalidcontinuationbyte表明您尝试使用UTF-8编码去解码一个字节序列,但是在解码过程中遇到了一个无效的字节序列。在UTF-8编码中,每个字符可以由1到4个字节组成,错误信息中的0xe4对应......
  • 使用Jupyter(python+opencv)实现特别难的脚本-Day2
    Day2那昨天实现了这个自动挖土,我发现这个yb也是很扯0的东西,所以今天简单优化优化,完了再简单优化一下双手,写个yb吧。首先依旧是库一小堆儿fromPILimportImageimportpyautoguiimportrandomimportpygetwindowasgwimporttime然后那既然是优化那肯定是面向对象......