AcWing 1346. 回文平方--Java
原题链接
简单
作者:
Jiang锋时刻
,
2021-01-31 10:12:29
,
所有人可见
,
阅读 273
算法1
(暴力枚举) $O(n^2)$
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int d = sc.nextInt();
int count = 0;
int N = 300;
int num = 0;
while(num < N) {
num++;
// 将数字转成d进制, 并将字符串转换成大写. 避免出现小写字母
String s1 = Integer.toString(num, d).toUpperCase();
String s2 = Integer.toString(num * num, d).toUpperCase();
// 如果数字的平方是回问, 则直接输出即可
if(huiwen(s2)) {
System.out.println(s1 + " " + s2);
}
}
}
//判断字符串是否是回问
public static boolean huiwen(String str) {
char[] arr = str.toCharArray();
int len = arr.length;
int l = 0, r = len - 1;
while(l < r) {
if(arr[l++] != arr[r--]) {
return false;
}
}
return true;
}
}