题目要求
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
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?