题目
* 一个数字,把他乘以二,会得到一个新的数字,
* 如果这个新数字依然由原数中那些数字组成,就称原数为一个魔数。
* 输入正整数N,检查它是否是一个魔数,输出YES或者NO。
*
* 142857 = 285714
细节:
我们把 "初始化" 数据 放到List中,已经确定过的数,要从List里面删除。
做法:
class Test71 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int number = input.nextInt();
int new_number = number * 2;
boolean flag = false;
List<Integer> list = new ArrayList(); //14285
String s1 = String.valueOf(number);
String s2 = String.valueOf(new_number);
for (int i = 0; i < s1.length(); i++) {
list.add(Integer.valueOf(String.valueOf(s1.charAt(i))));
}
for (int i = 0; i < s2.length(); i++) {
Integer integer = Integer.valueOf(String.valueOf(s2.charAt(i)));
if (list.contains(integer)){
flag = true;
list.remove(integer);
}else {
flag = false;
}
}
if (flag){
System.out.println("YES");
}else {
System.out.println("NO");
}
input.close();
}
}