-1

我编写了一个程序来确定所有回文 3 位数字。是否有很多有效的方法可以编写这个程序?

import java.lang.Math;

class New {
    public static void main(String[] args) {

        int prod = 0;int proda=0;
        int show = 0;
        for (int i = 100; i < 1000; i++) {
            for (int j = 100; j <= i; j++) {
                prod = i * j;
                show = prod;
                proda=prod;

                int sum=0;
                while(prod>0) {
                    prod=prod/10;
                    sum++;
                }

                int saum = 0;
                int p = 0;
                while (proda >0) {
                    p = (int) ((proda % 10) * (Math.pow(10,sum-1)));
                    saum += p;
                    proda = proda / 10;
                    sum--;
                }
                if (saum == show) {
                    System.out.println(show);
                }
            }
        }

    }
}
4

1 回答 1

-1

三位数的回文是 $aba$,$1 \le a \le 9$ 和 $0 \le b \le 9$。使用它来尽可能快地生成它们。这只是 $101 \cdot a + 10 \cdot b$。

于 2020-03-29T13:40:43.223 回答