小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是 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,这也是蓝桥杯里面比较简单的题目了,我最近也开始要准备蓝桥杯的竞赛了,有一起的小伙伴一起来学习。