#include "stdio.h"
#include "conio.h"
/*
有这样一个算式:
其中ABCDE代表的数字各不相同。编写一个程序,计算出ABCDE各代表什么数字。
题目分析:
这道题的实质就是求这样一个4位数ABCD和1位数E,要求它们的乘积等于DCBA。
同时A、B、C、D、E互不相等。也就是在4位的整数集合[1000,9999]和1位的整数集合[1,9]中找到符合上述算式条件的4位数ABCD和1位数E。
因此不难想到应用穷举法可以方便地找到答案。
*/
void main()
{
//定义俩个循环变量表示4位数和下面的那个一位数
int num1,num2;
//定义4个变量,分别保存这个4位数的个、十、百、千位上面的数字
int gewei,shiwei,baiwei,qianwei;
//这个数字的逆序
int num3;
for(num1=1000;num1<=9999;num1++){
gewei=num1/1%10;
shiwei=num1/10%10;
baiwei=num1/100%10;
qianwei=num1/1000%10;
for(num2=1;num2<=9;num2++){
//保证4位数字互不相同
if(gewei!=shiwei&&gewei!=baiwei&&gewei!=qianwei&&shiwei!=baiwei&&shiwei!=qianwei&&baiwei!=qianwei){
//满足他们的乘积等于这个4位数的逆序数字
num3=gewei*1000+shiwei*100+baiwei*10+qianwei;
if((num1*num2)==num3){
printf("%d乘以%d的结果%d满足!\n",num1,num2,num3);
}
}
}
}
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交