目录

  • 1.问题描述
  • 2.问题分析
  • 3.代码
  • 4.总结

1.问题描述

有这样一个算式:
ABCD×EDCBA\frac {ABCD \atop ×E} {DCBA} DCBA×EABCD​​
其中ABCDE代表的数字各不相同。编写一个程序,计算出A、B、C、D、E各代表什么数字。

2.问题分析

这道题的实质就是要求这样一个4位数字ABCD和1位数E,要求它们的乘积等于DCBA。同时A、B、C、D、E互不相等。
最直观简单的方法就是采用穷举法。也就是在4位的整数集合[1000, 9999]和1位整数集合[1, 9]中找到符合上述算式条件的4位数字ABCD和1位数E
约束条件:
1.ABCD*E=DCBA
2.A、B、C、D、E所代表的整数互不相等

ABCD<-1000
Repeat:E<-1Repeat:if ABCD*E=DCBA and A、B、C、D、E互不相等 Then 输出这个答案E<-E+1Until E>9ABCD<-ABCD+1
Until ABCD>9999

已知ABCD如何求解DCBA?
详见上一篇文章中:
判断回文数字->2.问题分析->如何求解一个数的“倒置数”

如何判断A、B、C、D、E互不相等
不重不漏地比较10对数

(A,B)
(A,C)
(A,D)
(A,E)
(B,C)
(B,D)
(B,E)
(C,D)
(C,E)
(D,E)

3.代码

#include "stdafx.h"
#include "stdlib.h"
#include <iostream>
using namespace std;
//求i的倒置数
int reverse(int i)
{int r = 0;while(i){r = r * 10 + i % 10;i = i / 10;}return r;
}//判断A、B、C、D、E是否互不相等
int fun(int abcd, int e)
{int arr[4],k = 0;while(abcd){arr[k] = abcd % 10;abcd = abcd / 10;k++;}if(arr[0] == arr[1]) return 0; //(A,B)if(arr[0] == arr[2]) return 0; //(A,C)if(arr[0] == arr[3]) return 0; //(A,D)if(arr[0] == e)        return 0; //(A,E)if(arr[1] == arr[2]) return 0; //(B,C)if(arr[1] == arr[3]) return 0; //(B,D)if(arr[1] == e)      return 0; //(B,E)if(arr[2] == arr[3]) return 0; //(C,D)if(arr[2] == e)      return 0; //(C,E)if(arr[3] == e)      return 0; //(D,E)return 1;
}
int main(int argc, char* argv[])
{int abcd,e;for(abcd = 1000; abcd < 10000; ++abcd){for(e = 1; e < 10; ++e){if(fun(abcd,e) && abcd * e == reverse(abcd)){cout << abcd << endl;cout << "  *" << e << endl;cout << "----" << endl;cout << abcd * e<< endl;}}}system("pause");return 0;
}
/*输出:
2178*4
----
8712
*/

4.总结

本题的关键在于
1、计算“倒置数”
2、判断A、B、C、D、E互不相等

填数字游戏ABCD*E=DCBA相关推荐

  1. 数字游戏ABCD*E=DCBA-第11届蓝桥杯Scratch选拔赛真题精选

    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第95讲. 蓝桥杯选拔赛每一届都要举行4~5次,和省赛.国赛相比,题目要简单不少,再加上篇幅 ...

  2. 【C语言编程练习】5.7填数字游戏求解

    之前的东西就不上传了,大致就跟现在的一样 1. 题目要求 计算 ABCD *  E DCBA 这个算式中每个字母代表什么数字? 2. 题目分析 如果是我们人去做这道题会怎么办,一定是这样想把,一个四位 ...

  3. c语言填数字游戏求解过程解读,c语言编程--数字游戏.doc

    c语言编程--数字游戏 计算机实习报告 面向过程编程 用C语言求解实际问题 一.问题描述 游戏类第15个任务--猜数字游戏 计算机从0-9这10个数字中任意选择n个不重复数字(n≤10)组成一个5位数 ...

  4. 蓝桥杯 填数字游戏 20分。

    小明经常玩 LOL 游戏上瘾,一次他想挑战K大师,不料K大师说: "我们先来玩个空格填字母的游戏,要是你不能赢我,就再别玩LOL了". K大师在纸上画了一行n个格子,要小明和他交替 ...

  5. 求解填数字游戏问题(DFS回溯)

    [问题描述] 在3*3方阵中填入1到10内某9个整数,每方格填一个,使所有相邻两个方格两个整数之和为质数,输出满足要求的情况总数 [思路] 构建一个二维数组,常规回溯搜法来搜就可以了,值得注意的就是, ...

  6. matlab数字填图游戏,数字填色游戏下载-数字填色游戏安卓版下载(Paint By Number) v1.7.3-11773手游网...

    数字填色游戏是一款非常简单的放松玩法,游戏屏幕上将会给玩家显示出不同的图形:玩家按照不同的数字进行上色就可以.在玩游戏的同时可以培养玩家的色彩搭配意识,这里收集了多种多样的外形图案等你来完成. 数字填 ...

  7. python猜数字游戏简单-python猜数字游戏快速求解解决方案

    python猜数字游戏快速求解解决方案.使用方法: 1. 保存代码为guessall.py 2. 执行python guessall.py > result.txt 3. 打开result.tx ...

  8. 2017年第八届蓝桥杯C/C++ A组国赛 —— 第四题:填字母游戏

    标题:填字母游戏 小明经常玩 LOL 游戏上瘾,一次他想挑战K大师,不料K大师说: "我们先来玩个空格填字母的游戏,要是你不能赢我,就再别玩LOL了". K大师在纸上画了一行n个格 ...

  9. 【NOIP2018】DAY2T2——填数游戏(轮廓线状压的dp?搜索打表)

    描述 小 D 特别喜欢玩游戏.这一天,他在玩一款填数游戏. 这个填数游戏的棋盘是一个n × m的矩形表格.玩家需要在表格的每个格子中填入一个数字(数字 0 或者数字 1),填数时需要满足一些限制. 下 ...

最新文章

  1. Windows 10将为大型企业提供订阅型服务
  2. mongdb 群集_群集文档的文本摘要
  3. jQuery 往table添加新内容有以下四个方法:
  4. OpenShift 4 - 基于URL的应用路由
  5. python界面-Python GUI 编程(Tkinter)
  6. maven(二) maven项目构建ssh工程(父工程与子模块的拆分与聚合)
  7. 使用git作为首页以及克隆上传创建下载删除
  8. svn server 配置 与TortoiseSVN、Ankhsvn+VS使用 及 问题
  9. HD AUDIO再2003安装的问题
  10. 爱河许云上计算机乐谱,爱河简谱(歌词)-神马乐团演唱-桃李醉春风记谱
  11. [转] 网卡超时实现机制 watchdog_timeo/ndo_tx_timeout
  12. 爬取煎蛋网图片的一种思路
  13. 超声波传感器(CHx01) 学习笔记 Ⅲ-API介绍
  14. iOS 开发中的争议(二)--唐巧
  15. 动手| 一个人脸识别的K8s部署实践
  16. 双引擎强悍!QQ电脑管家4.6 Beta1实测
  17. OP向左,SaaS向右,如何选择?
  18. Delphi CreateMutex 防止程序多次运行
  19. 二维码扫描+长按识别二维码demo
  20. GA-BP遗传神经网络预测

热门文章

  1. 【Matlab WSN通信】A_Star改进LEACH多跳传输协议【含源码 487期】
  2. Arduino实验三十五 声音传感器
  3. 高考投档计算机检索,高考志愿投档
  4. 如何查看目前所有会话的状态oracle,Oracle一些常用查看数据库状态SQL
  5. 浅谈我的建站经验之导航设置
  6. 电子血压计方案提供模块芯片开发服务
  7. Mybatis中#和$的区别
  8. 批量删除时传参的转换
  9. Nginx缓冲区配置
  10. springboot自动创建Oracle,一键生成项目 SpringBoot项目代码生成器 支持Oracle 支持MySql...