算式计算

来源:互联网 发布:linux chown 子目录 编辑:程序博客网 时间:2024/05/01 21:18

给定等式  A B C D E     其中每个字母代表一个数字,且不同数字对应不
                         D F G     同字母。编程求出这些数字并且打出这个数字的
             +          D F G     算术计算竖式。
             ───────
                  X Y Z D E

#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int a,b,c,d,e,f,g,x,y,z;
    for (a = 0; a != 10; ++a){
        for (b = 0; b != 10; ++b){
            if (a != b){
                for (c = 0; c != 10; ++c){
                    if (c != a && c != b){
                        for (d = 0; d != 10; ++d){
                            if (d != c && d != b && d != a){
                                for (e = 0; e != 10; ++e){
                                    if (e != d && e != c && e != b && e != a){
                                        for (f = 0; f != 10; f += 5){
                                            if (f != e && f != d && f != c && f != b && f != a){
                                                for (g = 0; g != 10; g += 5){
                                                    if (g != f && g != e && g != d && g != c && g != b && g != a){
                                                        for (x = 0; x != 10; ++x){
                                                            if (x != g && x != f && x != e && x != d && x != c && x != b && x != a){
                                                                for (y = 0; y != 10; ++y){
                                                                    if (y != x && y != g && y != f && y != e && y != d && y != c && y != b && y != a){
                                                                        z = 45 - (a + b + c + d + e + f + g + x + y);
                                                                        int x1 = e + d * 10 + c * 100 + b * 1000 + a * 10000;
                                                                        int x2 = g + f * 10 + d * 100;
                                                                        int x3 = e + d * 10 + z * 100 + y * 1000 + x * 10000;
                                                                        if (x1 + x2 + x2 == x3)
                                                                        {
                                                                            cout << a << ' '
                                                                                << b << ' '
                                                                                << c << ' '
                                                                                << d << ' '
                                                                                << e << ' '
                                                                                << f << ' '
                                                                                << g << ' '
                                                                                << x << ' '
                                                                                << y << ' '
                                                                                << z << endl;
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

 

原创粉丝点击