public class Main {
public static long max = 0;
public static void main(String[] args) {
int[] v = {1,2,3,4,5,6,7,8,9};
qpl(v,0,8);
System.out.println(max);
}
public static void qpl(int[] v, int x, int y) {
if(x==y) {
check(v);
}
for (int i = x; i <= y; i++) {
swap(v,i,x);
qpl(v,x+1,y);
swap(v,i,x);
}
}
public static void swap(int[] str, int i, int j) {
int temp = str[i];
str[i] = str[j];
str[j] = temp;
}
public static void check(int[] v) {
for (int k = 1; k <= (v.length+1)/2; k++){
String str1 = "";
String str2 = "";
for (int i = 0; i < k; i++) {
str1 += v[i];
}
for (int i = k; i < v.length; i++) {
str2 += v[i];
}
long x1 = Integer.parseInt(str1);
long x2 = Integer.parseInt(str2);
long x = x1*x2;
if (judge(x)) {
if (max < x)
max = x;
}
}
}
public static boolean judge(long tem) {
int[] p = new int[10];
for (int i = 0; i < 10; i++) {
p[i] = 0;
}
while(tem!=0) {
p[(int) (tem%10)]++;
tem = tem/10;
}
for (int i = 1; i < 10; i++) {
if (p[i]!=1) {
return false;
}
}
return true;
}
}
最大乘积
最新推荐文章于 2024-06-25 22:34:30 发布