问题描述:
假设a b c d e代表1~9不同的5个数字(注意是各不相同的数字,且不含0),能满足形:abcde = cbdce这样的算式一共有多少种呢?
解题分析:先给a赋值,再给b赋值,当a和b的值不相同时再给c赋值,当a、b的值不等于c时,再给d赋值,当a、b、c的都不等有d时,再给e赋值,当a、b、c、d的值都不等于e时再进行计算。计算时个位的数不变,十位的数乘以10,百位的数要乘以100,然后再相加,最后进行计算。用ans来计数,每找到一个:ab * cde = cbd * ce这样的算式ans就加1。
代码如下:
public class _02 {
public static void main(String[] args){
int ans=0;
for (int a=1;a<10;a++){
for (int b=1;b<10;b++){
if (a!=b) for(int c=1;c<10;c++){
if(c!=a && c!=b) for (int d=1;d<10;d++){
if(d!=a && d!=b && d!=c) for (int e = 1;e<10;e++){
if(e!=a && e!=b && e!=c && e!=d){
if((a*10+b)*(c*100+d*10+e)==(a*100+d*10+b)*(c*10+e)){
ans++;
System.out.printf("(%d*10+%d)*(%d*100+%d*10+%d)==(%d*100+%d*10+%d)*(%d*10+%d)==%d\n",a,b,c,d,e,a,d,b,c,e,(a*100+d*10+b)*(c*10+e));
}
}
}
}
}
}
}
System.out.println(ans);
}
}
答案:142