题目:
编程解决如下问题: 有一个数学等式: ABCD*E= DCBA,式中的一个字母代表位数字,试找出所有符合上述要求的乘积式并打印输出。注意:A、B、C、D、E不能为 0。
(输入) 无。
(输出) 若干行乘积式,一行一个乘积式。
答案:
#include<stdio.h>
int main(){
for(int i=1111;i<=9999;i++){
int D=i%10;
int C=i/10%10;
int B=i/100%10;
int A=i/1000%10;
if(A==0||B==0||C==0||D==0)
continue;
for(int E=1;E<=9;E++){
if(i*E==(D*1000+C*100+B*10+A))
printf("%d*%d=%d\n",i,E,D*1000+C*100+B*10+A);
}
}
return 0;
}
或
#include <stdio.h>
struct stu{
};
int main(){
int a,b,c,d,e;
// int i;
for(a=1;a<=9;a++){
for(b=1;b<=9;b++){
for(c=1;c<=9;c++){
for(d=1;d<=9;d++){
for(e=1;e<=9;e++){
if((a*1000+b*100+c*10+d)*e==d*1000+c*100+b*10+a){
printf("%d%d%d%d*%d= %d%d%d%d\n",a,b,c,d,e,d,c,b,a);
}
}
}
}
}
}
}