问题补充:求每个空格的数字是什么。
问题分析:一共有加减乘除四种运算,且每个空格中是1到8中的一个(不重复的整数)。
可能的乘法等式:2* 3=6 2*4=8
可能的除法等式 8/2=4 6/2=3
即可确定最左下角一定是2。根据加减法,右上角一定为一。
下图为两种可能的情况
现思考如何用编程实现这个问题(注意编程中不要加入人脑的运算)。
分析如下:
1:这其实是一个排列组合问题。将8个不同的数填充到8各不同的位置共有8!种方案。从这8!种方案中找出满足题目所要求关系的方案。
算法思路:从12345678遍历到87654321,找出所有没有重复数字的值。然后找出满足题目要求的数。(注意要排除掉数字9和0)
执行结果: