题目:
B DEF
A + — + ——- = 10
C GHI
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。
比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法?
需要注意的地方是:两个整数相除得到的是整数,所以2/1 和 5/2 得到的结果是一样的,所以此时需要注意将整数转换成浮点数,只要将分母*1.0即可
package com.ying.keepup;
public class cousuanshi {
public static void main(String[] args) {
int sum = 0;
for (int a = 1; a < 10; a++) {
for (int b = 1; b < 10; b++) {
for (int c = 1; c < 10; c++) {
for (int d = 1; d < 10; d++) {
for (int e = 1; e < 10; e++) {
for (int f = 1; f < 10; f++) {
for (int g = 1; g < 10; g++) {
for (int h = 1; h < 10; h++) {
for (int i = 1; i < 10; i++) {
if ((a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&a!=i)&&
(b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&b!=h&&b!=i)&&
(c!=d&&c!=e&&c!=f&&c!=g&&c!=h&&c!=i)&&
(d!=e&&d!=f&&d!=g&&d!=h&&d!=i)&&
(e!=f&&e!=g&&e!=h&&e!=i)&&
(f!=g&&f!=h&&f!=i)&&
(g!=h&&g!=i)&&
(h!=i)) {
int shang = d*100+e*10+f;
int xia = g*100+h*10+i;
//由于整数相除的结果仍为整数,所以要将整数转为浮点数计算
if (a+(b*1.0/c)+(shang*1.0)/(xia)==10) {
sum++;
}
}
}
}
}
}
}
}
}
}
}
System.out.println(sum);
}
}
29