设计一个算法求象棋这些棋子各代表哪些数字

【象棋算式】   

                            兵      炮       马       卒

+      兵      炮       车       卒


车     卒      马       兵       卒

【问题求解】

在采用逻辑推理时先从“卒”入手,卒和卒相加,和的个位数仍是卒,这个数只能是0,确定卒是0后所有是卒的地方都为0.这时会看到“兵+兵=车 0”,从而得到兵为5、车是1,进一步得到“马+1=5”,所以马=4,又有“炮+炮=4”,从而炮=2。

最后得到兵=5,炮=2,马=4,卒=0,车=1

用代码实现时:设兵为a,炮为b,马为c,车为d,卒为e,要注意它们的值互不相同,代入象棋算式中

源代码如下:

#include <iostream>
using namespace std;//设计一个算法求象棋这些棋子各代表哪些数字
void fun() {int a, b, c, d, e, m, n, s;    //设兵为a,炮为b,马为c,车为d,卒为efor (a = 1; a <= 9;a++) {for (b = 0; b <= 9;b++) {for (c = 0; c <= 9;c++) {for (d = 0; d <= 9;d++) {for (e = 0; e <= 9;e++) {if (a==b||a==c||a==d||a==e||b==c||b==d||b==e||c==d||c==e||d==e) {continue;}else{         //代入象棋算式中m = a * 1000 + b * 100 + c * 10 + d;n = a * 1000 + b * 100 + e * 10 + d;s = e * 10000 + d * 1000 + c * 100 + a * 10 + d;if (m+n==s) {cout << "兵=" << a<<endl;cout << "炮=" << b<<endl;cout << "马=" << c << endl;cout << "车=" << d << endl;cout << "卒=" << e << endl;}}}}}}}
}int main() {fun();system("pause");return 0;
}

输出结果:

兵=5
炮=2
马=4
车=0
卒=1
请按任意键继续. . .

设计一个算法求象棋这些棋子各代表哪些数字相关推荐

  1. 在象棋算式中不同的棋子代表不同的数,设计一个算法求这些棋子个代表那些数字(回溯)

    如下图的算式 兵 炮 马 卒+ 兵 炮 车 卒=车 卒 马 兵 卒 a b c d e  分别表示 兵 炮 马 卒 车 #include <stdio.h> #include <st ...

  2. 算法分析:在象棋算式里,不同的棋子代表不同的数,有以下算式,设计一个算法求这些棋子各代表哪些数字。

    一.问题描述 二.源码

  3. A,B两个整数集合,设计一个算法求他们的交集,尽可能的高效(牛客网)

    #include<iostream> using namespace std; /* 1)先使用快速排序,使得两个数组有序: 2)然后利用二分查找的方法,在数组B中查找: 3)其中,注意在 ...

  4. 【一元多项式算法】设一个一元多项式采用带头结点的单链表存储,所有结点 按照升幂方式链接。设计一个算法,求两个多项式 A 和 B 的乘积,结果多项式 C 存放在新辟的空间中。

    [一元多项式算法]设一个一元多项式采用带头结点的单链表存储,所有结点 按照升幂方式链接.设计一个算法,求两个多项式 A 和 B 的乘积,结果多项式 C 存放在新辟的空间中. #include<s ...

  5. 设计一个算法,将一般算术表达式转化为逆波兰表达式,并求逆波兰表达式的值

    栈的设计与使用 实验内容 设计一个算法,将一般算术表达式转化为逆波兰表达式,并求逆波兰表达的值 解题思路 (1)一般算术表达(中缀表达),如#3×(4+2)/2-5#,#为表达式界定符,逆波兰表达式( ...

  6. 回溯法——设计一个算法在1、2、3... 9(顺序不能变)数字之间插入+ 或 - 或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性和全排列

    回溯法 题目描述: 设计一个算法在1.2.3- 9(顺序不能变)数字之间插入+ 或 - 或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性.例如1+2+34-5+67-8+9=100 分 ...

  7. 设计一个算法的方法论

    设计一个算法的方法论 引言 多年来本人在研发团队里担任算法设计工程师,设计过的算法包括:电能计量.复杂控制.无线通信和系统架构等.蓦然回首,顿悟算法设计有很多共性,抽取出来大致为6个步骤,结合近段时间 ...

  8. 程序基本算法习题解析 设计一个算法,计算男女运动员最佳配对方案,使各组男女双方竞赛优势的总和达到最大。

    题目: 羽毛球队有男女运动员各n人.给定2个n*n矩阵P和Q.P[i][j]是男运动员i和女运动员j,配对组成混合双打的男运动员竞赛优势,Q[i][j]是女运动员i和男运动员j配合的女运动员竞赛优势. ...

  9. 数据结构:试设计一个算法,改造一个带表头结点的双向链表,所有结点的原有次序保持在各个结点的右链域rLink中,并利用左链域ILink把所有结点按照其值从小到大的顺序连接起来

    题目 试设计一个算法,改造一个带表头结点的双向链表,所有结点的原有次序保持在各个结点的右链域rLink中,并利用左链域ILink把所有结点按照其值从小到大的顺序连接起来 分析 Template < ...

最新文章

  1. 打破校史!这位参与发表学校首篇Science的博士小姐姐,近日一作再发Nature
  2. iOS黑科技之(CoreImage)静态人脸识别(一)
  3. gsea结果分析图怎么看_数据分析怎么做?看这篇就够了!
  4. 直播预告丨聚焦银行数字化运营体系搭建,助力银行构建核心竞争力
  5. Linux find指令
  6. linux crontab 每隔10秒执行一次
  7. 2020年8月编程语言排行榜新鲜出炉 - 编程语言世界的假期
  8. (转)Awk使用案例总结(运维必会)
  9. Flash缺货,存储器成为三星的摇钱树
  10. linux常用命令集(用户和组操作-共15个)
  11. Android Messenger 跨进程通信
  12. EXCEL的字符串处理公式,自带工作表函数汇总
  13. sap生产工单报工_SAP报工PP用户操作手册——生产订单确认CO11N V100512.doc
  14. POC原型开发:巡店 一期结果
  15. 使用在线模式更改工具修改表
  16. 招聘过程中,3分钟看懂一个人
  17. MySQL中的读锁和写锁(InnoDb行锁、表锁、 MyISAM共享读锁 、MyISAM独占写锁)
  18. 2018年上半年总结
  19. 计算机课件模拟实验,计算机模拟仿真密立根油滴实验课件.pdf
  20. 从contiki中下载程序到TelosB节点

热门文章

  1. tee啥意思_不知道白tee是什么意思你就out啦!白tee潮流穿搭
  2. Watir vs. SilkTest
  3. 在线报表设计实战系列 – ③制作交叉分析表
  4. java环境变量设置 java_home
  5. 有人用这个android控制我的手机,用这个软件,竟可以随便控制别人的手机
  6. android sutdio导入源码教程,《AndroidStudio导入安卓源码-idegen》---可方便查看安卓源代码...
  7. 逻辑回归优化算法总结一
  8. 行业分析-全球与中国抛光混凝土地板市场现状及未来发展趋势
  9. HP大中华区总裁孙振耀撰文谈退休并畅谈人生【全详细】
  10. js中时间戳的各种用法