数字谜
法一:超级暴力
代码:
public class sixtysix {
public static void main(String[] args) {
for(int i=1;i<=9;i++) {//控制A
for(int j=0;j<=9;j++) {//控制B
for(int k=0;k<=9;k++) {//控制C
for(int h=1;h<=9;h++) {//控制DDDDDD
int sum=0;
int p;
p=i*10000+j*1000+k*100+i*10+j;//ABCAB
sum=p*h;//DDDDDD
if(sum%111111==0&&p*i==sum) {
System.out.println(" "+p);
System.out.println("x "+i);
System.out.println("="+sum);
}
}
}
}
}
}
}
运行结果:
法二:用除法算:DDDDDD/A=ABCAB
两层循环,第一层控制DDDDDD,第二层控制A,求出的数比较,若一四位相等且等于A,二五位相等,则符合条件,输出。
代码:
public class sixtyseven {
public static void main(String[] args) {
for(int i=1;i<=9;i++) {
for(int j=1;j<=9;j++) {
int a=j*(111111);//111111
int b=a/i;
if(b/100000==0&&a%i==0){//ABCAB是五位数且DDDDDD能整除A
if((b/10)%10==(b/10000)%10&&(b/10000)%10==i) {//1=4=A
if(b%10==(b/1000)%10) {//2=5
System.out.println(" "+b);
System.out.println("x "+i);
System.out.println("="+a);
}
}
}
}
}
}
}