对于正整数 �n, 如果存在正整数 �k 使得 �=1+2+3+⋯+�=�(�+1)2n=1+2+3+⋯+k=2k(k+1), 则 �n 称为三角数。例如, 66066 是一个三角数, 因为 66066=1+2+3+⋯+36366066=1+2+3+⋯+363 。
如果一个整数从左到右读出所有数位上的数字, 与从右到左读出所有数位 上的数字是一样的, 则称这个数为回文数。例如, 66066 是一个回文数, 8778 也是一个回文数。
如果一个整数 �n 既是三角数又是回文数, 我们称它为三角回文数。例如 66066 是三角回文数。
请问, 第一个大于 20220514 的三角回文数是多少?
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
for(int i=363;i<9000;i++){
long k=i*(i+1)/2;
if(k>20220514&&huiwen(k)){
System.out.println(k);
break;
}
}
}
public static boolean huiwen(long k){
String str=k+"";
char[] c=str.toCharArray();
for(int i=0;i<c.length/2;i++){
if(c[i]!=c[c.length-i-1]){
return false;
}
}
return true;
}
}