蓝桥杯_三羊献瑞(暴力)

观察下面的加法算式:

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

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

请你填写“三羊献瑞”所代表的4位数字(答案唯一)

    

    e d f g
 +  a b c d
----------------- 
  a b f d h
#include<stdio.h>
int main()
{
	int a, b, c, d, e, f, g, h;
	int temp1 = a*1000 + b*100 + c*10 + d;
	int temp2 = e*1000 + d*100 + f*10 + g;
	int temp3 = a*10000 + b*1000 + f*100 + d*10 + h;
	for(int a = 1; a <= 9; a++)
		for(int b = 0; b <= 9; b++)
			if(a != b) 
			 for(int c = 0; c <= 9; c++)
			 	if(c != b && c != a) 
			 	for(int d = 0; d <= 9; d++)
			 		if(d != c && d != b && d != a) 
			 		for(int e = 1; e <= 9; e++)
			 			if(e != d && e != b && e != c && e != a)
			 			for(int f = 0; f <= 9; f++)
			 				if(f != e && f != d && f != c && f != b && f != a)
			 				for(int g = 0; g <= 9; g++)
			 					if(g != f && g != e && g != d && g != c && g != b && g != a)
			 					for(int h = 0; h <= 9; h++)
			 						if(h != g && h != f && h != e && h != d && h != c && h != b && h != a)
				 					{
				 						int temp1 = a*1000 + b*100 + c*10 + d;
										int temp2 = e*1000 + d*100 + f*10 + g;
										int temp3 = a*10000 + b*1000 + f*100 + d*10 + h;
										if(temp1 + temp2 == temp3)
											//cout << a << ' ' << b << ' ' << c << ' ' << d << ' ' << e << ' ' << f << ' ' << g << ' ' << h << endl;
				 							printf("a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d",a,b,c,d,e,f,g,h);
									 }
	return 0;
}
发布了67 篇原创文章 · 获赞 48 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_41282102/article/details/88749075
今日推荐