试题 pre ssi 不同 ring import bit imp ges
- package demi;
- import java.util.Arrays;
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args) {
- Scanner in =new Scanner(System. in );
- int t;
- t = in.nextInt();
- int[] x = new int[t];
- for (int i = 0; i < t; i++) {
- x[i] = in.nextInt();
- }
- System.out.println(t);
- for (int i = 0; i < t; i++) {
- System.out.println(x[i]);
- }
- for (int i = 0; i < t; i++) {
- if (RearrangeDivided(x[i])) {
- System.out.println(x[i] + " Possible");
- } else {
- System.out.println(x[i] + " Impossible");
- }
- }
- }
- // 判断一个整数是否有能整除它的混排
- public static boolean RearrangeDivided(int num) {
- boolean ret = false;
- int bit,
- tmpNum;
- String str = String.valueOf(num),
- tmpS;
- bit = str.length();
- if (bit == 0) {
- return ret;
- }
- for (int i = 2; i <= 9; i++) {
- tmpNum = num * i;
- tmpS = String.valueOf(tmpNum);
- if (isRearrange(str, tmpS)) {
- ret = true;
- return ret;
- }
- }
- return ret;
- }
- // 判断两个字符串是否是一个组合的不同排列
- public static boolean isRearrange(String str1, String str2) {
- boolean ret = false;
- // 字符串转成字符数组排序
- char[] c1 = str1.toCharArray();
- char[] c2 = str2.toCharArray();
- Arrays.sort(c1);
- Arrays.sort(c2);
- // 比较内容相等,字符数组转成字符串比较是否相等
- String newStr1 = new String(c1);
- String newStr2 = new String(c2);
- if (newStr1.length() != newStr2.length()) {
- return ret;
- } else if (newStr1.equals(newStr2)) {
- ret = true;
- }
- return ret;
- }
- }
网易笔试题目-2017-9-25
来源: http://www.bubuko.com/infodetail-2325110.html