1.题目描述
B DEF
A + --- + ------- = 10
C GHI
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。(比赛时,题目有改动)
比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法?
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。
2.答案
29
3.思路
暴力
分母不为零
要通分
4.代码实现
//代码有缺陷 明天继续改
public class Main {
public static void main(String[] args) {
int ans = 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 up = d * 100 + e * 10 + f;
int down = g * 100 + h * 10 + i;
if (a + (b * 1.0 / c)+ (up * 1.0) / (down * 1.0) == 10) {
ans++;
}
}
}
}
}
}
}
}
}
}
}
System.out.println(ans);
}
}