B DEF
A + --- + ------- = 10
C GHI
(如果显示有问题,可以参见【图1.jpg】)
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。
比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法?
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。
只需要填结果的题目,直接暴力就好啦
#include<iostream>
using namespace std;
int main(){
int num=0;
for(int a=1;a<=9;a++){
for(int b=1;b<=9;b++){
if(b==a)
continue;
for(int c=1;c<=9;c++){
if(c==a||c==b)
continue;
for(int d=1;d<=9;d++){
if(d==a||d==b||d==c)
continue;
for(int e=1;e<=9;e++){
if(e==d||e==c||e==b||e==a)
continue;
for(int f=1;f<=9;f++){
if(f==e||f==d||f==c||f==b||f==a)
continue;
for(int g=1;g<=9;g++){
if(g==f||g==e||g==d||g==c||g==b||g==a)
continue;
for(int h=1;h<=9;h++){
if(h==g||h==f||h==e||h==d||h==c||h==b||h==a)
continue;
for(int i=1;i<=9;i++){
if(i==h||i==g||i==f||i==e||i==d||i==c||i==b||i==a)
continue;
int num1=a*c*(g*100+h*10+i);
int num2=b*(g*100+h*10+i);
int num3=c*(d*100+e*10+f);
int num4=10*c*(g*100+h*10+i);
if(num1+num2+num3==num4)
num++;
}
}
}
}
}
}
}
}
}
cout<<num<<endl;
return 0;
}