题目:马虎的算式
小明是个急性子,上小学的时 候经常把老师写在黑板上的题目抄错了。
有一次,老师出的题目是: 36 x 495 = ?
他却给抄成了: 396 x 45 = ?
但结果却很戏剧性,他的答案竟然是对的! !
因为36495=39645=17820
类似这样的巧合情况可能还有很多,比如: 27 * 594 = 297 * 54
假设a b c d e代表1~9不同的5个数字(注意是各不相同的数字, 且不含0)
能满足形如: ab * cde = adb * ce这样的算式一共有多少种呢?
请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。
答案:142
#include<stdio.h>
int main(){
int a,b,c,d,e,ans;
ans=0;
//各不相同,需要判断
for (a=1; a<10 ;a++ ){
for(b=1;b<10;b++){
if(b!=a){
for( c=1;c<10;c++ ){
if(c!=a && c!=b ){
for(d=1;d<10;d++){
if(d!=a&&d!=b&&d!=c){
for(e=1;e<10;e++){
if(e!=a&&e!=b&&e!=c&&e!=d){
//达成各不相同,凑式子
//ab * cde = adb * ce
if( (a*10+b)*(c*100+d*10+e)==(a*100+d*10+b)*(c*10+e)){
ans++;
}
}
}
}
}
}
}
}
}
}
printf("%d",ans);
return 0;
}
本文探讨了一种罕见的数学现象,即通过重新排列数字,两个看似不同的乘法算式可以得出相同的结果。例如,36*495与396*45,以及27*594与297*54。文章挑战读者利用计算机找出所有可能的五位数组合,满足特定条件的算式数量,最终得出答案为142种。
574

被折叠的 条评论
为什么被折叠?



