您的位置:首页 > 其它

蓝桥杯—三羊献瑞,祥瑞生辉+三羊献瑞

2016-02-24 20:21 465 查看
蓝桥杯比赛题目:

三羊献瑞



观察下面的加法算式:

祥 瑞 生 辉

+ 三 羊 献 瑞

-------------------

三 羊 生 瑞 气


(如果有对齐问题,可以参看【图1.jpg】)








其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。


请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。

思路:

1. 由于是填空题,没有时间和内存的要求,所以看到这个题,第一想法就是暴力破解,当然了,怎么快就怎么做。

2. 由于 "三"是数字的首位,低位的数字进位后必然为1,所以能先确定 ”三“为1。

3. 声明变量a,b,c,d,f,g,h。(分别代表:祥,瑞,生,辉,羊,献,气)。

4. 题目要求求出三羊献瑞,即(1,f,g,b)。

代码如下:

<strong><span style="font-size:18px;">#include<iostream>
using namespace std;
int main()
{
int a,b,c,d,f,g,h;
int numOne,numTwo,sum;
for(a=2;a<=9;a++)
{
for(b=0;b<=9;b++)
{
for(c=0;c<=9;c++)
{
for(d=0;d<=9;d++)
{
for(f=0;f<=9;f++)
{
for(g=0;g<=9;g++)
{
for(h=0;h<=9;h++)
{
if(a!=b && a!=c && a!=d && a!=f && a!=g && a!=h
&& b!=c && b!=d && b!=f && b!= g &&b!=h
&& c!=d && c!=f && c!= g && c!=h
&& d!=f && d!=g &&d!=h
&& f!=g && f!=h
&& g!=h
&& a!=1 && b!=1 && c!=1 && d!=1 && f!=1 && g!=1 && h!=1)
{
numOne=a*1000 + b*100 + c*10 + d;
numTwo=1*1000 + f*100 + g*10 + b;
sum=1*10000 + f*1000 + c*100 + b*10 + h;
if(sum==(numOne + numTwo))
{
cout<<1<<f<<g<<b<<endl;
}
}

}

}
}
}
}
}
}
return 0;
} </span></strong>


运行截图:




注:代码在devc++里编译运行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: