题目:马虎的算式
小明是个急性子,上小学的时 候经常把老师写在黑板上的题目抄错了。
有一次,老师出的题目是: 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;
}