题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
观察如下的算式:
9213×85674=789314562
左边的乘数和被乘数正好用到了 1 ~ 9 的所有数字,每个 1 次。 而乘积恰好也是用到了 1 ~ 9 的所有数字,并且每个 1次。
请你借助计算机的强大计算能力,找出满足如上要求的 9 数算式一共有多少个?
注意:
- 总数目包含题目给出的那个示例。
- 乘数和被乘数交换后作为同一方案来看待。
运行限制
import java.util.*;
public class Main {
static int ans=0;
static int[] biaoji=new int[10];
static int[] a=new int[10];
public static void main(String[] args) {
f(1);
System.out.println(ans/2);
}
public static void f(int n){
if(n==10){
int[] x=new int[9];
int[] y=new int[9];
int[] sum=new int[9];
x[1]=a[1];
x[2]=a[1]*10 + a[2];
x[3]=a[1]*100 + a[2]*10 + a[3];
x[4]=a[1]*1000 + a[2]*100 + a[3]*10 + a[4];
x[5]=a[1]*10000 + a[2]*1000 + a[3]*100 + a[4]*10 + a[5];
x[6]=a[1]*100000 + a[2]*10000 + a[3]*1000 + a[4]*100 + a[5]*10 + a[6];
x[7]=a[1]*1000000 + a[2]*100000 + a[3]*10000 + a[4]*1000 + a[5]*100 + a[6]*10 + a[7];
x[8]=a[1]*10000000 + a[2]*1000000 + a[3]*100000 + a[4]*10000 + a[5]*1000 + a[6]*100 + a[7]*10 + a[8];
y[1]=a[2]*10000000 + a[3]*1000000 + a[4]*100000 + a[5]*10000 + a[6]*1000 + a[7]*100 + a[8]*10 + a[9];
y[2]=a[3]*1000000 + a[4]*100000 + a[5]*10000 + a[6]*1000 + a[7]*100 + a[8]*10 + a[9];
y[3]=a[4]*100000 + a[5]*10000 + a[6]*1000 + a[7]*100 + a[8]*10 + a[9];
y[4]=a[5]*10000 + a[6]*1000 + a[7]*100 + a[8]*10 + a[9];
y[5]=a[6]*1000 + a[7]*100 + a[8]*10 + a[9];
y[6]=a[7]*100 + a[8]*10 + a[9];
y[7]=a[8]*10 + a[9];
y[8]=a[9];
sum[1]=x[1]*y[1];
sum[2]=x[2]*y[2];
sum[3]=x[3]*y[3];
sum[4]=x[4]*y[4];
sum[5]=x[5]*y[5];
sum[6]=x[6]*y[6];
sum[7]=x[7]*y[7];
sum[8]=x[8]*y[8];
int s=check(sum);
if(s!=0){
ans=ans+s;
}
return;
}
for(int i=1;i<=9;i++){
if(a[i]==0&&biaoji[i]==0){
a[i]=n;
biaoji[i]=1;
f(n+1);
a[i]=0;
biaoji[i]=0;
}
}
}
public static int check(int[] sum){
int count=0;
for(int i=1;i<=8;i++){
if(checksum(sum[i])){
count++;
}
}
return count;
}
public static boolean checksum(int sum){
String str=String.valueOf(sum);
char[] a1=str.toCharArray();
Arrays.sort(a1);
char[] a2=new char[]{'1','2','3','4','5','6','7','8','9'};
if(Arrays.equals(a1,a2)){
return true;
}
return false;
}
}
-
- 最大运行时间:1s
- 最大运行内存: 128M