蓝桥杯——三羊献瑞

本文通过编程方法解析了一道汉字算术谜题,即找出代表“三羊献瑞”的四位数字,使得两个四位数相加等于一个特定的五位数。通过对汉字与数字的映射关系进行暴力搜索,最终得出唯一解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三羊献瑞

观察下面的加法算式:
祥 瑞 生 辉
+三 羊 献 瑞
-------------------
三 羊 生 瑞 气

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

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

两个四位数相加得到一个五位数,显然“三”是1,“祥”至少是8.

所以现在只有7个未知数:祥(a) , 瑞(b), 生( c), 辉(d), 羊(e), 献(f), 气(g).
直接暴力就可以解决

#include<iostream>
using namespace std;
int main () 
{
	for (int a=8;a<=9;a++)
	{
		for (int b=0;b<=9;b++)
		{
			for (int c=0;c<=9;c++)
			{
				for (int d=0;d<=9;d++)
				{
					for (int e=0;e<=9;e++)
					{
						for (int f=0;f<=9;f++)
						{
							for (int g=0;g<=9;g++)
							{
								if (a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&
								b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&
								c!=d&&c!=e&&c!=f&&c!=g&&
								d!=e&&d!=f&&d!=g&&
								e!=f&&e!=g&&
								f!=g)
								{
									if (a*1000+b*100+c*10+d+1*1000+e*100+f*10+b==1*10000+e*1000+c*100+b*10+g)
									{
										cout<<1*1000+e*100+f*10+b<<endl;
										return 0;
									}
								}
							}
							
						}
					}
				}
			}
		}
	 } 
	 return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值