0
点赞
收藏
分享

微信扫一扫

【蓝桥杯_真题演练】三羊献瑞(C++_暴搜)


题干

观察下面的加法算式:

【蓝桥杯_真题演练】三羊献瑞(C++_暴搜)_c++

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

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

答案

1085

思路

把算式中的这几个字都换成未知数,因为‘祥’+‘三’产生了进位,且加法进位只可能为1,所以三就代表着数字1,随后枚举暴搜即可得出答案。

题解

#include<bits/stdc++.h>
using namespace std;
//  a b c d 
//  1 e f b
//1 e c	b g
int main()
{
	for (int a = 0; a < 10; a++)
		for (int b = 0; b < 10; b++)
			for (int c = 0; c < 10; c++)
				for (int d = 0; d < 10; d++)
					for (int e = 0; e < 10; e++)
						for (int f = 0; f < 10; f++)
							for (int g = 0; g < 10; g++) {
								if ((1000 * a + 100 * b + 10 * c + d + 1000 + 100 * e + 10 * f + b) == (10000 + e * 1000 + 100 * c + 10 * b + g))
								{
									if (1 != a && 1 != b && 1 != c && 1 != d && 1 != e && 1 != f && 1 != 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 != e) {
											cout << "1" << e << f << b;
											return 0;
										}
									}
								}
							}
	return 0;
}


举报

相关推荐

0 条评论