题目描述
仅做笔记,值得注意的地方:
1 十进制数怎么转换为B进制
2 回文数的判断方法
样例
import java.util.*;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int b = sc.nextInt();
for(int i = 1;i<=300;i++){
String num = base(i*i,b);
if(check(num)==true){
System.out.println(base(i,b)+" "+num);
}
}
}
static char get1(int x){
if(x <= 9) return (char)(x+'0');
else return (char)(x-10+'A');
}
static String base(int n, int b){
String num="";
while(n != 0){
num +=get1(n%b);
n /= b;
}
String nums = new StringBuilder(num).reverse().toString();
return nums;
}
static boolean check(String num){
for(int i = 0,j=num.length() -1;i<j;i++,j--){
if(num.charAt(i) != num.charAt(j)) return false;
}
return true;
}
}