蓝桥杯-基础练习-十六进制转十进制

问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535 import java.util.Scanner; import java.math.*; public class Main{ public static void main(String Args[]){ Scanner sc = new Scanner(System.in); BigInteger n = new BigInteger(sc.next(),16); System.out.println(n); } } 笔记: 善于使用java API 哈,要不然会增加问题的复杂程度

April 7, 2023 · 1 min · 晚晴

蓝桥杯-基础练习-十六进制转八进制

问题描述 给定n个十六进制正整数,输出它们对应的八进制数。 输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式 输出n行,每行为输入对应的八进制正整数。 【注意】 输入的十六进制数不会有前导0,比如012A。 输出的八进制数也不能有前导0。 样例输入 2 39 123ABC 样例输出 71 4435274 【提示】 先将十六进制数转换成某进制数,再由某进制数转换成八进制。 import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String [] HEX_arr; HEX_arr = new String[sc.nextInt()]; for(int i = 0;i<HEX_arr.length;i++){ HEX_arr[i] = sc.next(); } for (int i = 0;i<HEX_arr.length;i++){ BigInteger a = new BigInteger(HEX_arr[i],16); System.out.println(a.toString(8)); } } }

April 7, 2023 · 1 min · 晚晴