凑算式
B DEF
A + — + ------- = 10
C GHI
(如果显示有问题,可以参见【图1.jpg】)
这个算式中AI代表19的数字,不同的字母代表不同的数字。
比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法?
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。
暴力解法:
package lq;
public class 凑算式 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int count=0;
for(int a=1;a<10;a++)
for(int b=1;b<10;b++)
for(int c=1;c<10;c++)
for(int n=123;n<=987;n++)
for(int m=123;m<=987;m++)
if(a!=b&&a!=c&&a!=n/100&&a!=n/10%10&&a!=n%10&&a!=m/100&&a!=m/10%10&&a!=m%10&&b!=c&&b!=n/100&&b!=n/10%10&&b!=n%10&&b!=m/100&&b!=m/10%10&&b!=m%10&&c!=n/100&&c!=n/10%10&&c!=n%10&&c!=m/100&&c!=m/10%10&&c!=m%10&&n/100!=n/10%10&&n/100!=n%10&&n/100!=m/100&&n/100!=m/10%10&&n/100!=m%10&&n/10%10!=n%10&&n/10%10!=m/100&&n/10%10!=m/10%10&&n/10%10!=m%10&&n%10!=m/100&&n%10!=m/10%10&&n%10!=m%10&&m/100!=m/10%10&&m/100!=m%10&&m/10%10!=m%10) {
if(n/10%10!=0&&n%10!=0&&m/10%10!=0&&m%10!=0) {
if((b*m+n*c)%(c*m)==0&&(b*n+c*m)/(c*n)==10-a) {
count++;
System.out.println(a+"+"+b+"/"+c+"+"+(n)+"/"+(m)+"="+10);
}
}
}
System.out.println(count);
}
}