凑算式
B DEF
A + --- + ------- = 10
C GHI
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。(比赛时,题目有改动)
比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法?
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。
public class Main {
public static void main(String[] args) {
double count=0;
for(double a=1;a<10;a++) {
for(double b=1;b<10;b++) {
for(double c=1;c<10;c++) {
for(double d=1;d<10;d++) {
for(double e=1;e<10;e++) {
for(double f=1;f<10;f++) {
for(double g=1;g<10;g++) {
for(double h=1;h<10;h++) {
for(double 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
) {
if(a+(b/c)+((d*100+e*10+f)/(g*100+h*10+i))==10) {
count++;
}
}
}
}
}
}
}
}
}
}
}
System.out.println(count);
}
}
注意:要用double不能用int,两者结果完全不同,因为8/3结果有小数点,用int的话结果为2,完全不同!