古堡算式--蓝桥杯

简述

这是2012年蓝桥杯全国软件设计大预赛第2题,问题是求出字母对应的数字。

推荐链接:《2012蓝桥杯软件大赛预赛题目汇总》

题目描述

福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:

ABCDE * ? = EDCBA

他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”
华生:“我猜也是!”
于是,两人沉默了好久,还是没有算出合适的结果来。

请你利用计算机的优势,找到破解的答案。
把 ABCDE 所代表的数字写出来。
答案写在“解答.txt”中,不要写在这里!

分析

这种类型的题目最简单最直接的方法就是穷举法吧,虽然时间复杂度较大,但是在对性能没要求且基数不是特别大的情况下,肯定能得到答案。

源代码

# include <stdio.h>
int main(void){
	int a, b, c, d, e;
	int x;
	int left, right;
	
	left = a * 10000 + b * 1000 + c * 100 + d * 10 + e * 1;
	right = e * 10000 + d * 1000 + c * 100 + b * 10 + a * 1;
	
	for(a = 0; a <= 9; a++){
		for(b = 0; b <= 9; b++){
			for(c = 0; c <= 9; c++){
				for(d = 0; d <= 9; d++){
					for(e = 0; e <= 9; e++){
						for(x = 0; x <= 9; x++){
							left = a * 10000 + b * 1000 + c * 100 + d * 10 + e * 1;
							right = e * 10000 + d * 1000 + c * 100 + b * 10 + a * 1;
							if(left * x == right && a !=b && b != c && c != d && d != a && a != c && b != d){
								printf("%d %d %d %d %d\n", a, b, c, d, e);
							}
						}
					}
				}
			}
		}
	}
	printf("\nDone\n");
	return 0;
}

最后答案

ABCDE 所代表的数字为
1 0 9 8 9
2 1 9 7 8

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值