程序员只小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常。比如: 1.23再多一块钱就变为25 2.39再多一块钱变为50: 3.399再多一块钱变为500 小明识破了司机的伎俩,准备利用自己的学识打败司机的阴谋。 给出计费表的表面读数,返回实际产生的费用。
数据量很大,如果是直接枚举1 N跳过了那些数字,肯定是超时的,其实相比于正常计数的10进制,这里变成了9进制,”满9进一,因为4被跳过了,因此我们可以直接枚举每一位的贡献,比如123=1∗102+2∗10+3,现在就需要变成1∗92+2∗9+3,当然,还有一些细节需要处理,比如如果某一位超过了4,那需要-1之后再去计算,因为跳过了所有的含有4的数。
const rl = require("readline").createInterface({ input: process.stdin });