import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
String s = in.next();
s = s.substring(2);
int t = 1, res = 0;
for(int i = s.length()-1; i >= 0; i--){
char tmp = s.charAt(i);
if(tmp == 'A'){
res += t * 10;
}else if(tmp == 'B'){
res += t * 11;
}else if(tmp == 'C'){
res += t * 12;
}else if(tmp == 'D'){
res += t * 13;
}else if(tmp == 'E'){
res += t * 14;
}else if(tmp == 'F'){
res += t * 15;
}else{
res += t * (tmp - '0');
}
t*= 16;
// System.out.println(res);
}
System.out.println(res);
}
}
直接模拟,从字符串的后面开始遍历,每一位都是上一位的16倍;前面两个字符0x直接截掉
#牛客春招刷题训练营# https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6。



京公网安备 11010502036488号