题目要求
P1015题目链接
开始的时候写了这么一个代码,应该是比较基础的,是十进制的。
private static void low() {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
String str = Integer.toString(num);
int i;
for (i = 0 ; i = 0; i--) {
//实际上是int
int temp = charMap.get(chars1[i]) + charMap.get(chars2[i]) + result[i+1];
if (temp >= 16) {
//本位溢出,进位
result[i+1] = intMap.get(temp-16);
result[i]++;
} else {
result[i+1] = intMap.get(temp);
}
}
//最终溢出
if (result[0] == 0) {
return new String(result).substring(1);
}
result[0] += 48;
return new String(result);
}
/**
* 2-10进制的加法
* @param num1 加数1
* @param num2 加数2(位数与加数1相同)
* @param format 两个数所属进制
* @return N进制和(2 = 96 + format) {
//本位溢出,进位
result[i+1] = (char)(temp - format - 48);
result[i]++;
} else {
result[i+1] = (char)(temp - 48);
}
}
//最终溢出
if (result[0] == 0) {
return new String(result).substring(1);
}
result[0] += 48;
return new String(result);
}
/**
* 判断是否为回文数
* @param num 待判数值
* @return 是否为回文数
*/
private static boolean isPalindrome(String num) {
if (num.equals(reverse(num))) {
return true;
} else {
return false;
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//进制(2-10、16)
int format = Integer.parseInt(scanner.nextLine());
String num = scanner.nextLine();
int counter = 0;
if (format == 16) {
while (!isPalindrome(num) && counter
关注
打赏
热门博文
- 【Linux】Ubuntu20.04安装和卸载MySQL8
- 【Linux】Ubuntu 20.04 报错 curl: (23) Failure writing output to destination 的解决方法
- 【Java】JUnit 4.13.2 警告 ‘assertEquals(double, double)‘ is deprecated 的解决方法
- 【JavaScript】处理 @parcel/transformer-js: Browser scripts cannot have imports or exports.
- 【Python】处理TypeError: Plain typing.NoReturn is not valid as type argument
- 【Python】Matplotlib可视化50例
- 【C语言】C语言修改MySQL数据库
- 【Java】从默认包导入类和对象报错的解决方法
- 【Java】panel.getGraphics()报错空指针异常的解决方法
- 【Java】IDEA编译Java项目报错 java: 找不到符号 的解决方法