题目描述

You are given a car odometer which displays the miles traveled as an integer. The odometer has a defect, however: it proceeds from the digit 2 to the digit 4 and from the digit 7 to the digit 9, always skipping over the digit 3 and 8. This defect shows up in all positions (the one's, the ten's, the hundred's, etc.). For example, if the odometer displays 15229 and the car travels one mile, odometer reading changes to 15240 (instead of 15230).

给你一个汽车里程表,它以整数的形式显示行驶的英里数。然而,里程表有一个缺陷:它从数字2到数字4,从数字7到数字9,总是跳过数字3和8。这个缺陷出现在所有位置(1位,10位,100位,等等)。例如,如果里程表显示15229,而汽车行驶了一英里,则里程表读数变为15240(而不是15230)。

输入描述

Each line of input contains a positive integer in the range 1..999999999 which represents an odometer reading. (Leading zeros will not appear in the input.) The end of input is indicated by a line containing a single 0. You may assume that no odometer reading will contain the digit 3 and 8.

每一行输入的数范围是[1,999999999 ],表示里程表读数。(前导零不会出现在输入中。)输入的结束由包含一个0的行表示。您可能会认为里程表读数中没有数字3和8。

输出描述

Each line of input will produce exactly one line of output, which will contain: the odometer reading from the input, a colon, one blank space, and the actual number of miles traveled by the car.

每一行输入将产生一行输出,其中将包含:从输入读取的里程表、一个冒号、一个空格和汽车实际行驶的英里数。

用例

输入 15
输出 12
输入 2005
输出 1028
输入 250
输出 160
输入 1500
输出 768
输入 999999
输出 262143

题目解析

这题和算法 - 靠谱的车_伏城之外的博客-CSDN博客

一样,只是靠谱的车是九进制,本题是八进制。

算法源码

/* JavaScript Node ACM模式 控制台输入获取 */
const readline = require("readline");const rl = readline.createInterface({input: process.stdin,output: process.stdout,
});rl.on("line", (line) => {const arr = line.split("").map((ele) => parseInt(ele));let len = arr.length;let correct = 0;arr.forEach((fault, idx) => {if (fault > 8) fault--;if (fault > 3) fault--;console.log(fault);for (let i = len - idx - 1; i > 0; i--) {fault *= 8;}console.log(fault);correct += fault;});console.log(correct);
});

上面代码我们需要注意,

if (fault > 8) fault--;
    if (fault > 3) fault--;

顺序不能颠倒,否则当fault=9时,理论上应该变为7,如果上面代码颠倒的话,

if (fault > 3) fault--;
    if (fault > 8) fault--;
则fault=9时,最终fault只能变为8,会产生错误结果。

算法 - 里程表故障相关推荐

  1. 从分布式一致性算法到区块链共识机制

    引言 分布式一致性是一个很"古典"的话题,即在分布式系统中,如何保证系统内的各个节点之间数据的一致性或能够就某个提案达成一致.这个问题想必对于很多技术同学而言并不陌生,几乎在所有的 ...

  2. 永磁同步电机驱动器保护算法专题

    永磁同步电机驱动器保护算法专题 概要 本文讨论电机驱动软件设计过程中涉及到的故障处理:梳理出以下关键故障. 过流 过压 过载 过温 缺相 转速异常 选择上述故障讨论是因为完成相关故障的处理即可实现: ...

  3. UDS 关于故障码的学习笔记(0x19和0x14服务)

    目录 1.概述 2.1 DTC描述 2.1.1DTC的严重性和类的定义 2.1.2公约和定义 2.1.3DTC状态位定义 ​ 2.1.3.1 testFailed 2.1.4DTC状态位定义 ​ 2. ...

  4. 基于优化的多核局部费舍尔判别分析的故障分类

    摘要: 在实际工业过程中,故障数据通常具有较强的非线性特征,并且非线性特征的种类也较为多样.现有的基于核策略的过程监测方法中,通常只使用一种核函数进行故障的非线性特征提取,很难对非线性特征进行较为全面 ...

  5. 服务器记录的定位信息,服务器资讯:巧用机器学习定位云服务器故障

    原标题:服务器资讯:巧用机器学习定位云服务器故障 背景 对于每一单母机故障我们都需要定位出背后真实的故障原因,以便对相应的部件进行更换以及统计各种部件故障率的情况,因此故障定位和分析消耗的人力也越来越 ...

  6. 基于改进型生成对抗网络生成异构故障样本的方法

    文章地址:A Modified Generative Adversarial Network for Fault Diagnosis in High-Speed Train Components wi ...

  7. 通信工程论文 通信网络中故障数据优化检测仿真研究

    通信网络中故障数据优化检测仿真研究 专业:通信工程 2022年5月 论文题目:通信网络中故障数据优化检测仿真研究 学科专业:通信工程 摘 要 在对通信网络之中的故障数据进行检测时,考虑到在通信网络之中 ...

  8. 分布式之cap、base理论、flp不可能原理、一致性问题、共识算法

    一.CAP理论 CAP理论:在一个分布式系统中,最多只能满足C.A.P中的2个. CAP含义: C:Consistency 一致性:同一数据的多个副本是否实时相同.all nodes see the ...

  9. 频繁项集挖掘算法在告警关联中的应用

    # 技术黑板报 # 第十期 推荐阅读时长:15min 在上一篇技术黑板报中,我们介绍了频繁项集挖掘这一问题,并讲解了Apriori算法与FP-Growth算法的技术原理.本期技术黑板报我们将主要围绕频 ...

最新文章

  1. gamma函数及相关其分布
  2. 13.19. File system test
  3. web前端 react与vue 流行框架的比较
  4. 2018信息安全铁人三项第三赛区数据赛题解
  5. Learning to Rank算法介绍:RankSVM 和 IR SVM
  6. 腾讯微博发表带图片的微博
  7. C#实现局域网UDP广播--
  8. 空间谱专题11:子阵平滑与秩亏缺
  9. 一个报文的路由器之旅_一个报文的路由器之旅
  10. 山西职业技术学院计算机宿舍怎么样,山西职业技术学院宿舍怎么样
  11. 解决hibernate只能插入一条数据的问题
  12. python怎么设置notebook_JupyterNotebook设置Python环境的方法步骤
  13. sqlserver导出表结构到excel
  14. mysql登录出现1045错误
  15. 全志 Allwinner V3S 开发环境搭建 (一)虚拟机搭建 Oracle VM VirtualBox6.1 Ubuntu14.4
  16. 教你记录借还款,查看收支账户记录
  17. win10 保护计算机 密码,在win10中这样设置用户密码过期时间,可以保证电脑安全...
  18. 推荐系统中的双塔模型
  19. 为什么餐厅老是没人光临?快试试全息投影餐厅
  20. 软件设计---过程设计

热门文章

  1. 生物岛 理查德数和哥德尔G数 读哥德尔之7
  2. 可以使用ip地址+https进行访问吗?
  3. 视频教程|如何修改apple id密码?忘记了Apple ID密码怎么办?
  4. O2OA二次开发办公平台:内容管理数据迁移
  5. Acunetix 登录凭证无效
  6. 浮云API 毒鸡汤接口开放文档
  7. 使用python解决codewar中问题,个人答题思路及代码总结(3)
  8. vue项目中定义全局变量
  9. 【JS】中 reduce() 的用法
  10. java 向后兼容性_关于java:JDK“向上”还是“向后”兼容?