2024-12-31 10:50

算法-出租车问题-九进制

码自答

其它

(45)

(0)

收藏

一辆出租车,出租车司机不喜欢数字4,将计价器上的数字4跳过。

也就是3块钱以后是5块,13块钱以后是15块,39块钱以后是50块。

题目:

输入计价器上的金额,计算并输出实际金额


分析:

计价器上某位数字大于4,表示该数字实际大小应该是数字-1

计价器本来应该是十进制,但是由于缺少数字4,结果计价器变成了九进制,

也就是计价器显示13  实际上是9+3,也就是12

如果计价器显示17  实际上是9+6,也就是15


java代码:

import java.util.Scanner;

public class Test4 {


    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入表显金额:");
        int n = scanner.nextInt();

        String s = n+"";
        int total = 0;//存放实际金额
        for(int i=0;i<s.length();i++)
        {
            char temp = s.charAt(i);
            int data = temp-48;
            if(data>4)
            {
                data--;
            }
            total = total*9+data;
        }

        System.out.println("实际金额:"+total);
    }
}


0条评论

点击登录参与评论