如图,这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。
比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?29
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
double a,b,c,d,e,f,g,h,i,ans=0; //不能是int
//要保证全部都不相等
//a-a b-a c-a,c-b d-a,d-b,d-c ...
for(a=1;a<=9;a++)
for(b=1;b<=9;b++){
if(a!=b)
for(c=1;c<=9;c++) {
if((a!=c)&&(b!=c))
for(d=1;d<=9;d++){
if((a!=d)&&(b!=d)&&(c!=d))
for(e=1;e<=9;e++){
if((a!=e)&&(b!=e)&&(c!=e)&&(d!=e))
for(f=1;f<=9;f++) {
if((a!=f)&&(b!=f)&&(c!=f)&&(d!=f)&&(e!=f))
for(g=1;g<=9;g++) {
if((a!=g)&&(b!=g)&&(c!=g)&&(d!=g)&&(e!=g)&&(f!=g))
for(h=1;h<=9;h++) {
if((a!=h)&&(b!=h)&&(c!=h)&&(d!=h)&&(e!=h)&&(f!=h)&&(g!=h))
for(i=1;i<=9;i++) {
if((a!=i)&&(b!=i)&&(c!=i)&&(d!=i)&&(e!=i)&&(f!=i)&&(g!=i)&&(h!=i)&&(a+b/c+(100*d+10*e+f)/(100*g+10*h+i)==10))
ans++;
}
}
}
}
}
}
}
}
cout<<ans<<endl;
return 0;
}