马虎的算式(蓝桥杯c语言)

小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是 36x495=?,他却给抄成了,396x45=? ,但结果却很戏剧性,他的答案竟然是对的 因为 36495=39645=17820 类似这样的巧合情况可能还有很多。
比如,27594=29754 假设 abcde 代表 1~9 不同的 5 个数字,注意是各不相同的数字,且不含 0 能满足形如, abcde=adbce 这样的算式一共有多少种情况。
这是原题目接下来先上代码

#include<stdio.h>
int main()
{
	int a, b, c, d, e,sum=0;
	for (a = 1; a < 10; a++)
		for (b = 1; b< 10; b++)
			for (c = 1; c < 10; c++)
				for (d = 1; d < 10; d++)
					for (e = 1; e < 10; e++)
					{
						if (a != b && a != c && a != d && a != e && b != c && b != d && b != e && c != d & c != e && d != e)
							if ((10*a+b)*(100*c+10*d+e)==(a*100+d*10+b)*(c*10+e))
							{
								sum++;
							}
					}
	printf("%d", sum);
	return 0;
}

我在刚做这道题的一直不理解为什么要(10*a+b)*(100*c+10*d+e)==(a*100+d*10+b)*(c*10+e)那这个10和100后来我明白了这是三位数,我们设置的abcde都是位数上的数字,我们最后算的时候是拿两位数去乘以三位数的所以这里要拿10和100,这也是蓝桥杯里面比较简单的题目了,我最近也开始要准备蓝桥杯的竞赛了,有一起的小伙伴一起来学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lsewcx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值