EUler4计划奇怪吗?

时间:2015-01-10 17:50:04

标签: java

所以我正在研究Project Euler问题#4(https://projecteuler.net/problem=4)并编写了这段代码:

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开始,从那里开始计数并打印出来,然后为什么它以997799结束?我只是不明白你是如何从我的代码中打印出来的。

感谢。

1 个答案:

答案 0 :(得分:4)

if声明中有一个拼写错误:

if (char1 == char6 && ...