一个三位数将它的各位数字分别按从大到小和从小到大排列,把所得的俩个三位数相减,差等于原来的三位数

4个回答

  • 你好,我用Java编程,解决了你这个问题,结果只有一个495

    无论你是否能看懂下面的代码,但注释总是很详细的,相信你能明白,最后也给出运行结果

    import java.util.Arrays;

    public class test {

    x09public static void main(String[] args) {

    x09x09// 从100到999,一个一个试验

    x09x09for (int i = 100; i < 1000; i++) {

    x09x09x09// 把数字变成三个字符

    x09x09x09char[] a = String.valueOf(i).toCharArray();

    x09x09x09// 把三个字符排序

    x09x09x09Arrays.sort(a);

    x09x09x09// 获得从小到大排序后的数字

    x09x09x09int b = Integer.valueOf("" + a[0] + a[1] + a[2]);

    x09x09x09// 获得从大到小排序后的数字

    x09x09x09int c = Integer.valueOf("" + a[2] + a[1] + a[0]);

    x09x09x09// 如果差等于i,则打印出计算式

    x09x09x09if (Math.abs(b - c) == i) {

    x09x09x09x09System.out.println(i + "=" + c + "-" + b);

    x09x09x09}

    x09x09}

    x09}

    }

    运行结果:

    495=954-459