回文数,是指一个多位数在按位读时,无论是从右到左还是从左到右,其结果都是一样的特征。
回文平方数,是回文数的同时,还是一个数的平方。
思路,构建两个辅助函数,一个用于判断回文,一个用于判断是否为平方数。
参考代码:
package com.js.math;
import java.util.Scanner;
/**
* 平方回文数:由一个整数的平方得到的回文数
* @author js
*
*/
public class PalindromeNum2 {
public static void main(String[] args) {
int boundary = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入查找范围...");
if(scanner.hasNext()){
boundary = scanner.nextInt();
for(int i = 0;i<boundary;i++){
if((i>10)&&(compare(i)&&judge(i))){
System.out.println("找到一个平方回文数..."+i+"="+(int)Math.sqrt(i)+"*"+(int)Math.sqrt(i));
}
}
}
}
//p判断回文
public static boolean compare (int a){
boolean flag = false;
String strA = String.valueOf(a);
int length = strA.length();
int count = 0;
for(int j=0;j<length;j++){
if(strA.charAt(j)==strA.charAt(length-1-j)){
count++;
}
}
if(count==length){
flag = true;
}
return flag;
}
//判断平方
public static boolean judge(int a){
boolean flag = false;
if(Math.sqrt(a)%1==0){
flag = true;
}
return flag;
}
}