资源限制
内存限制:512.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的
样例输入
FFFF
10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输出
65535
方法一 BigInteger转换
BigInteger类表示大整数类
import java.math.BigInteger;
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println(new BigInteger(sc.next(), 16).toString(10));
sc.close();
}
}
方法二 pow函数
a的b次方:pow(a,b)
toCharArray():将字符串对象中的字符转换为一个字符数组
charAt(i):将字符串看成char类型的数组,返回指定索引位置的字符
R进制中的数位排列:R^4 R^3R^2 R^1 R^0 R^-1 R^-2 R^-3……
思路:首先输入字符串,将字符串中的字符转换为一个字符数组,将字符数字转换为ASCll值(x-48),进行数位排序16^ (n-i-1)(n为字符串长度,