蓝桥杯题目;三羊献瑞

2018年3月11日

/*三、三羊献瑞
观察下面的加法算式

祥 瑞 生 辉
— + 三 羊 献 瑞
——————-
三 羊 生 瑞 气
//因排版,请无视短横线
[cc lang=”c”]
(如果有对齐问题,可以参看【图1.jpg】)
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。*/
#include
using namespace std;
int a[8+5];//
int visited[10+5]={0};//因为0~9只能用1次,所以要标记
void dfs(int cur)
{
if(cur==8)
{
int x,y,z;
x=a[0]*1000+a[1]*100+a[2]*10+a[3];
y=a[4]*1000+a[5]*100+a[6]*10+a[1];
z=a[4]*10000+a[5]*1000+a[2]*100+a[1]*10+a[7];
if(x+y==z)
cout<<a[4]<<a[5]<<a[6]<<a[1]<<endl;
return ;
}
for(int i=0;i<=9;i++)//0~9数字一个一个进去试试
{
if(cur==0&&i==0)
continue;
if(cur==4&&i!=1)
continue;
if(!visited[i])
{
visited[i]=1;
a[cur]=i;
dfs(cur+1);
visited[i]=0;
}
}

}
int main()
{
dfs(0);
return 0;
}
[/cc]

[cc lang=”c”]
/*三、三羊献瑞
观察下面的加法算式

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

(如果有对齐问题,可以参看【图1.jpg】)
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。*/

#include
using namespace std;
int a[8+5];//
int visited[10+5]={0};//因为0~9只能用1次,所以要标记
void dfs(int cur)
{
if(cur==8)
{
int x,y,z;
x=a[0]*1000+a[1]*100+a[2]*10+a[3];
y=a[4]*1000+a[5]*100+a[6]*10+a[1];
z=a[4]*10000+a[5]*1000+a[2]*100+a[1]*10+a[7];
if(x+y==z)
cout<

你也有好的想法?点击右下角的“灯泡”,开始你的创作。与我们一起,让生活更愉悦,让工作更高效,让世界更美好!
投稿
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论