Так я работаю над проектом Эйлера проблемы # 4 (https://projecteuler.net/problem=4) и написал этот код:Программа EUler4 работает странно?
public class Main {
public static void main (String[] args) {
for (int i = 100000; i<999*999; i++) {
String st=i+"";
char char1 = st.charAt(0);
char char2 = st.charAt(1);
char char3 = st.charAt(2);
char char4 = st.charAt(3);
char char5 = st.charAt(4);
char char6 = st.charAt(5);
if (char1 == char5 && char2 == char5 && char3 == char4) {
System.out.println(i);
}
}
}
}
Но всякий раз, когда я запускаю его первый номер 110010, который не является числом палиндром, а затем его распечатывает это число +1 до 997799, что любопытно 1 номер вдали от того места, где он должен появиться, потому что 999 * 999 = 998001. Поэтому мой вопрос в том, почему этот код начинается с 110010, подсчитывает от 1 оттуда и печатает это, а затем почему это заканчивается на 997799? Я просто не понимаю, как вы это распечатали из моего кода.
Спасибо.