将1到9这九个数字填入xxxx*x=xxxx组成一个乘法算式,要求九个数字必须都填入且任何数字都不能重复填入

java实现代码如下:

import java.util.HashSet;
import java.util.Set;

public class TestMultiplication {
public static void main(String[] args) {
for(int i=2;i<=8;i++){
for(int j=1234;j<=4938;j++){
Set<String> set=new HashSet<String>();
String iStr=Integer.toString(i);
String jStr=Integer.toString(j);
char[] jChar=jStr.toCharArray();
set.add(iStr);
for(int n=0;n<jChar.length;n++){
set.add(String.valueOf(jChar[n]));
}
if(set.size()==5){
int product=j*i;
if(product<=9876){
char[] pChar=String.valueOf(product).toCharArray();
for(int m=0;m<pChar.length;m++){
set.add(String.valueOf(pChar[m]));
}
boolean isContains0=set.contains("0");
if(set.size()==9&&isContains0==false){
System.out.println("结果OK,结果为:"+String.valueOf(j)+"*"+String.valueOf(i)+"="+String.valueOf(product));
}
}
}
}
}
}
}

结果:

原文地址:https://www.cnblogs.com/shuyichao/p/10481659.html