数学广场: 像这个:http ://www.ps-heine.de/archives/416
- 数学正方形必须从左到右,从上到下求解。
- 操作规则的顺序不适用。
- 每个号码只能按时使用。
我从小学就喜欢这本书,但不幸的是我找不到任何书。对此感到失望,我以为我可以尝试自己做一些。
我仍处于概念阶段,但让我解释一下我到目前为止所采取的步骤:
首先我创建一个数组$matrix
。
- 它包含矩阵的每一行的数组。
- 每个行数组包含实际行的列/单元格。
- 每个单元格都是一个带有参数“id”、“type”和“value”的数组。
在此处查看阵列示例:http: //pastebin.com/RdBmxvjq
在此示例中,您已经可以看到运算符。
我有一个函数 operator(),它随机返回运算符“+”、“-”、“*”、“/”之一。
自然首先包括运算符,而不是找到适合矩阵的数字以及它们比反之亦然容易得多。
在这一点上,我可能已经完成了!
现在我可以输入随机数(当然是从数组中,所以它们不会重复),计算行和列的结果,删除数字并完成我的拼图!
如果没有除法运算符!
当然,我们不希望我/最终用户尝试除以素数或得到小数。
现在我可以循环并“蛮力”,直到我找到在除号之前输入的完美数字,但这是如此...... naff
我希望有一种方法可以在最初确保所有部门的结果都很好……结果……
有任何想法吗?
编辑:
让我添加一些我刚刚想到的一些随机想法,这些想法对我来说有点有意义:
首先,当我更改拼图中的数字时,它将对整个拼图生效。因此,更改数字,包括所有类型的蛮力,是性能杀手(除了它的 naff 之外)。
因此,一个合乎逻辑的结果是首先开始仅在发生除法的地方包含数字。
我们可以使用一个数字作为我们首先通过乘以其他一些数字来计算的“产品”,以确保该数字不是质数并具有一个因子。
但是,如果其中一个因数是质数,又发生了除法,会发生什么?
如果我们反复使用一个数字乘以另一个数字来获得一个非质因数,这将减少我们拼图中数字的多样性,从而使整个事情变得不那么有趣。
当我们对它进行“逆向工程”时,谜题中的乘法会发生什么?他们自动“成为分裂”,问题重新开始。
请让一些数学家来叫我愚蠢并提出一个非常简单的解决方案......