57-一个互不相同的4位数乘以1位数等于这个4位数的倒叙的数有?

#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); 
				}
	 		}
	 	}
	 } 
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会编程的阿强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值