当前位置:网站首页>2. 错误的里程表
2. 错误的里程表
2022-07-26 22:42:00 【lzl_0408】
【问题描述】
三月八日,小明买了台新车。但很快小明发现汽车的里程表有问题:里程表上每一位都不显示数字3和数字8,也就是说直接从数字2跳到数字4,直接从数字7跳到数字9。小明纳闷:这车到底行驶里程是多少。
现在,小明向你求助:根据里程表显示的数字,给出真实的行驶里程。
【输入形式】
输入有多组测试数据。
输入第一行正整数T,表示有多少组测试数据。
后面有T行,每行一个非负整数,表示里程表显示数字,里面不含有数字3和8。该数字不超过10位。
40%的测试数据组数T 10≤T≤ 102;
30%的测试数据组数T 102≤T≤ 103;
20%的测试数据组数T 103≤T≤ 104;
10%的测试数据组数T 104≤T≤ 105;
【输出形式】
对于每组测试数据,输出一个整数占一行:真实的行程里程。
【样例输入】
6 0 1 12 159 111224459 124567976
【样例输出】
0 1 10 103 19212007 21913077
【解题技巧】
这不就是一个八进制吗
解题思路:
逐位计算
把a转为八进制数a
a>3&&a<8 a--;
a>8 a=a-2;
再把八进制转为十进制 描述:八进制就是逢8进1,八进制数采用 0~7这八数来表达一个数。方法:八进制数从低位到高位(即从右往左)计算,第0位的权值是8的0次方,第1位的权值是8的1次方,第2位的权值是8的2次方,依次递增下去,把最后的结果相加的值就是十进制的值了。
举例:将八进制的(12)O转换为十进制的步骤如下:
第0位 2 x 8^0 = 2;
第1位 1 x 8^1 = 8;
读数,把结果值相加,2+8=10,即(12)O=(10)D。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int k;
cin>>k;
for(int i=0;i<k;i++)
{
long int n;
cin>>n;
long int sum=0;
for(int j=0;n>0;j++)
{
int a=n%10;
if(a>3&&a<8)
a--;
if(a>8)
a=a-2;
sum=sum+a*pow(8,j);//十进制数sum
n=n/10;
}
cout<<sum<<endl;
}
return 0;
}边栏推荐
- 基于Flink实时计算Demo—关于用户行为的数据分析
- MySQL uses and implements ranking functions rank and deny_ Rank and row_ NUMBER
- Spark source code learning - Data Serialization
- Flink 滑动窗口理解&具体业务场景介绍
- 移动直播选择 RTMP 还是RTC协议
- 堆排序相关知识总结
- x 的平方根
- Channel shutdown: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=
- Logback custom messageconverter
- 李宏毅机器学习(2021版)_P7-9:训练技巧
猜你喜欢

flink需求之—SideOutPut(侧输出流的应用:将温度大于30℃的输出到主流,低于30℃的输出到侧流)

Write the changed data in MySQL to Kafka through flinkcdc (datastream mode)

SQL学习(3)——表的复杂查询与函数操作

Tencent upgrades the live broadcast function of video Number applet. Tencent's foundation for continuous promotion of live broadcast is this technology called visual cube (mlvb)

Choose RTMP or RTC protocol for mobile live broadcast

Solve the problem of direct blue screen restart when VMware Workstation virtual machine starts

One of the Flink requirements - processfunction (requirement: alarm if the temperature rises continuously within 30 seconds)

Based on Flink real-time project: user behavior analysis (III: Statistics of total website views (PV))

微信大量下架数字藏品相关小程序:NFT产品究竟是未来还是陷阱?

深度学习报告(3)
随机推荐
堆排序相关知识总结
Kubernetes 是什么 ?
IDEA导入外部项目时pom文件的依赖无效问题解决
Write the changed data in MySQL to Kafka through flinkcdc (datastream mode)
MySQL Part 2
Data warehouse knowledge points
Status management in Flink
Zhimi Tencent cloud live mlvb plug-in optimization tutorial: six steps to improve streaming speed + reduce live delay
The basic concept of how Tencent cloud mlvb technology can highlight the siege in mobile live broadcasting services
pytorch张量数据基础操作
不止直播:腾讯云直播MLVB 插件除了推流/拉流还有哪些亮眼功能
flink需求之—SideOutPut(侧输出流的应用:将温度大于30℃的输出到主流,低于30℃的输出到侧流)
最长公共子串
Flink1.11 intervaljoin watermark generation, state cleaning mechanism source code understanding & demo analysis
深度学习汇报(1)
短视频App开发有哪些必备的功能?
Flink based real-time project: user behavior analysis (I: real-time popular product statistics)
MYSQL中的行锁升级表锁的原因
Flink 1.15 implements SQL script to recover data from savepointh
redis——缓存雪崩、缓存穿透、缓存击穿