输入包括t+1行,第一行包括一个整数t(1 ≤ t ≤ 10), 接下来t行,每行一个整数x(1 ≤ x ≤ 10^6)
对于每个x,如果可能重排之后变为自己的倍数输出"Possible", 否则输出"Impossible".
2 14 1035
Impossible Possible
方法比较死,就是按照原来数的倍数去判断是否存在这样的数。因为一个数怎样变化,位数和内容都需要一样。
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
scanner.nextLine();
while (n-- >0){
boolean is = false;
int s = scanner.nextInt();
String temp = String.valueOf(s);
for(int i=2;i<=9;i++){
String str = String.valueOf( s*i);
if(temp.length()!=str.length() ){
break;
}
int index = -1;
int count = 0;
for(char c:temp.toCharArray()){
index = str.indexOf(c);
if(index==-1){
break;
}else{
count++;
}
}
if(count==temp.length()){
is = true;
break;
}
}
if(is){
System.out.println("Possible");
}else{
System.out.println("Impossible");
}
}
}