ZZULIOJ 1145: 有问题的里程表(2),Java

ZZULIOJ 1145: 有问题的里程表(2),Java

题目描述

某辆汽车有一个里程表,该里程表可以显示一个整数,为该车走过的公里数。然而这个里程表有个毛病:它总是从3变到5,而跳过数字4,里程表所有位(个位、 十位、百位等)上的数字都是如此。例如,如果里程表显示15339,汽车走过1公里之后,该里程表显示15350。

输入

输入一个整数num,表示里程表显示的数值,长度不超过9位,且一定不含整数4。

输出

输出一个整数,表示实际行驶的里程。

样例输入 Copy
150
样例输出 Copy
117
import java.io.*;

public class Main {
    
    
    public static void main(String[] args) throws IOException {
    
    
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int n = Integer.parseInt(bf.readLine());
        int res = 0;
        for (int i = 0; n > 0; i++) {
    
    
            int x = n % 10;
            if (x > 4) res += (int) ((x - 1) * Math.pow(9, i));
            else res += (int) (x * Math.pow(9, i));
            n /= 10;
        }
        bw.write(res + "\n");
        bw.close();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_52792570/article/details/132545604