程序员小明打了一辆出租车去上班,出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大,出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常 比如: 1、23再多一块钱就变为25; 2、39再多一块钱变为50; 3、399再多一块钱变为500; 小明识破了司机的伎俩,准备利用自己的学识打败司机的阴谋,给出计费表的表面读数,返回实际产生的费用
package main
import (
"fmt"
)
func multiplyByPowerTen(num, n int) int {
if n == 0 {
return num
}
powerOfTen := 1
for i := 1; i <= n; i++ {
powerOfTen *= 10
}
return powerOfTen * num
}
func main() {
//里程表读数
var n string
//fmt.Println("请输入表显数值")
fmt.Scanln(&n)
byteSlice := []byte(n)
intSlice := make([]int, len(n))
for i, b := range byteSlice {
intSlice[i] = int(b - '0')
}
//fmt.Println(intSlice)
realPrice := 0
for _, v := range intSlice {
if v > 4 {
v = v - 1
}
realPrice = realPrice*9 + v
}
fmt.Println(fmt.Sprintf("%d", realPrice))
}