首页 > 学院 > 开发设计 > 正文

面试题01 由四个数字组成的一个最大数和最小数,最大数减去最小数正好是这四个数字组成的另外一个数n,求n的值

2019-11-08 00:45:19
字体:
来源:转载
供稿:网友

import java.util.Arrays;

/* * 由四个数字组成的一个最大数和最小数,最大数减去最小数正好是这四个数字组成的另外一个数n, * 求n的值 * 分析: * 1、要求这个四位数就必须遍历所有的四位数 * 2、在遍历的过程中,需要将这个四位数的每一位取出来 * 3、将取出的四个数重新组合成新的四位数。(即最大数和最小数) * 4、通过最大数和最小数之间的差值,检验是否是原数。 * */ public class Demo01 {

public static void main(String[] args) { int []arr = new int [4]; int temp = 0; int max = 0; int min = 0; for (int i = 1000; i < 10000; i++) { temp = i; //1、分别取出每一位,将取出的位数放在一个数组中。 for (int j = 0; j < arr.length; j++) { arr[j] = temp % 10; temp = temp / 10; } //2、将取出的四个数按照从小到大的排序。 Arrays.sort(arr); //3、求出最大数,因为最大数已经找出。 max = arr[3] * 1000 + arr[2] * 100 + arr[1] * 10 + arr[0]; //4、将第一个非零数放到第一位。 temp = 0; for (int j = 0; j < arr.length; j++) { if(arr[j] != 0) { temp = arr[0]; arr[0] = arr[j]; arr[j] = temp; break; } } //5、求出最小数。 min = arr[0] * 1000 + arr[1] * 100 + arr[2] * 10 + arr[3]; //6、判断最大数和最小数的差是不是n if(i == (max - min)) { System.out.PRintln("这个四位数是" + i); } } }

}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表