2015年第六届蓝桥杯C/C++程序设计本科B组省赛题目汇总:
http://blog.csdn.net/u014552756/article/details/50573834
三羊献瑞
观察下面的加法算式:
祥 瑞生 辉
+ 三羊 献 瑞
-------------------
三 羊 生 瑞 气
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
思路:循环遍历每一个汉字代表的数字。
即可转换为
a b c d
+ e f g b
-------------
e f c b h
答案为:1085
#include <iostream>
using namespace std;
int main()
{
int sum=0;
for(int a=1; a<=9; a++)
{
for(int b=0; b<=9; b++)
{
if(a==b) continue;
for(int c=0; c<=9; c++)
{
if(a==c||b==c) continue;
for(int d=0; d<=9; d++)
{
if(a==d||b==d||c==d) continue;
for(int e=1; e<=9; e++)
{
if(a==e||b==e||c==e||d==e) continue;
for(int f=0; f<=9; f++)
{
if(a==f||b==f||c==f||d==f||e==f) continue;
for(int g=0; g<=9; g++)
{
if(a==g||b==g||c==g||d==g||e==g||f==g) continue;
for(int h=0; h<=9; h++)
{
if(a==h||b==h||c==h||d==h||e==h||f==h||g==h) continue;
int t1=a*1000+b*100+c*10+d;
int t2=e*1000+f*100+g*10+b;
int t=e*10000+f*1000+c*100+b*10+h;
if(t1+t2==t)
cout<<e<<f<<g<<b<<endl;
}
}
}
}
}
}
}
}
return 0;
}