[Java] 纯文本查看 复制代码public class yidaojiu {
public static void main(String[] args) {
int ok=1;//满足条件标志
int sum=0;
for(int x0=1;x0<=9;x0++)
for(int x1=1;x1<=9;x1++)
for(int x2=1;x2<=9;x2++)
for(int x3=1;x3<=9;x3++)
for(int x4=1;x4<=9;x4++){
ok=1;//归位标志
sum=(x0*1000+x1*100+x2*10+x3)*x4;
if(sum<9876){
int[] num=new int[9] ;//用于保存算式□□□□×□=□□□□每一位的数。
num[0]=x0;
num[1]=x1;
num[2]=x2;
num[3]=x3;
num[4]=x4;
num[5]=sum/1000;//取积的千位
num[6]=sum%1000/100;//取积的百位
num[7]=sum%1000%100/10;//取积的十位
num[8]=sum%10;//取积的个位
int i,j;
for(i=0;i<=8;i++){//循环遍历检查是否满足条件,即8位中有无相等的数或有无含0的情况。
for(j=i+1;j<=8;j++)
{
if(num[i]==num[j]||num[i]==0||num[j]==0)
{
ok=0;
break;//如果有相等,退出内层余下循环。
}
}
if(ok==0) break;//退出外层余下循环。
}
if(ok==1)
System.out.printf("%d%d%d%d×%d=%d\n",x0,x1,x2,x3,x4,sum);
}
}
}
}