蓝桥杯-三羊献瑞

蓝桥杯

更多精彩文章请关注公众号『大海的BLOG』

问题

观察下面的加法算式:

      祥 瑞 生 辉
   +  三 羊 献 瑞
----------------
    三 羊 生 瑞 气

其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字,‘三’和‘祥’不能为 0。请你计算出“三羊献瑞”所代表的 4 位数是什么。(答案唯一)
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字,行末不要换行。

思路

这题我是用暴力法求解的

实现代码

#include<stdio.h>
int main(){
    int x,r,s,h,san,yan,xian,qi,sum1,sum2,sum3;
    for (x=1; x<=9;x++) {
        for (r=0; r<=9; r++) {
            for (s=0; s<=9; s++) {
                for (h=0; h<=9; h++) {
                    for (san=1; san<=9; san++) {
                        for (yan=0; yan<=9; yan++) {
                            for (xian=0; xian<=9; xian++) {
                                for (qi=0; qi<=9; qi++) {
                                    sum1=x*1000+r*100+s*10+h;
                                    sum2=san*1000+yan*100+xian*10+r;
                                    sum3=san*10000+yan*1000+s*100+r*10+qi;
                                    if (sum1+sum2==sum3 && x!=r && x!=s && x!=h && x!=san && x!=yan && x!=xian && x!=qi && r!=s && r!=h && r!=san && r!=h && r!=san && r!=yan && r!=xian && r!=qi &&s!=h && s!=san && s!=yan && s!=xian && s!=qi &&h!=san &&h!=yan &&h!=xian && h!=qi &&san!=yan &&san!=qi&& yan!=xian && yan!=qi &&xian!=qi) {
                                                                        printf("%d+%d=%d\n",sum1,sum2,sum3);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

更多精彩文章请关注公众号『大海的BLOG』

posted @ 2020-04-21 17:51  BIGOcean'sBLOG  阅读(192)  评论(0编辑  收藏  举报