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();
}
}