蓝桥杯——进制转换

    科技2024-07-10  82

    问题描述:

    编写函数将十进制整数按8进制输出,然后编写main函数验证该函数。 例如输入12,则输出为:12=014,输入32,则输出32=040。

    输入格式:

    输入一个整数。

    输出格式:

    输出这个整数的八进制形式。

    样例输入:

    12

    样例输出:

    014

    数据规模与约定:

    输入的整数n>=0.

    需要对输入的数字进行判断,如果输入的是0则输出不需要在0的前边拼接0,只有输入的不是0的时候才需要在输出的结果前边加上0(善意提醒:如果不加判断,则结果之能是66分,亲测。。。)

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigInteger; public class Main { public static void main(String[] args) throws IOException { // 创建输入流 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String line = reader.readLine(); // 读取数字 // 进制转换 if(line.equals("0")) { System.out.println(change(line, 10, 8)); } else { System.out.println("0" + change(line, 10, 8)); } } /* * 利用BigInteger进行进制转换 * number: 要进行转换的数字 * x: 规定number的进制 * y: 目的进制(需要输出的进制) */ private static String change(String number, int x, int y) { return new BigInteger(number, x).toString(y); } }

    Processed: 0.009, SQL: 8