|
|
1
17
考虑数字1、2、3、4、5、6、7、8、9之间的空间。 有8个这样的间隙或槽。 每个这样的空间可以用+、-或零填充(表示 八个插槽中的每一个都有三种可能性。为三个可能的填充符指定数字,如下所示:
现在,每个8位三进制字符串对应一个解决方案。例如:
将沿途的每个数字解释为如上所述的解决方案,在达到目标值101的解决方案时立即停止,或在未达到目标值的情况下结束时报告失败。 有3^8(指数,不是xor,或3**8表示Fortranoid,或
对于可能的解决方案。只有6561;你可以很容易地用这种方法来强迫它。 |
|
2
4
递归是计算机科学中的一个重要观点。如果你这样做的目的是教你的儿子,为什么现在不给他解释递归呢 |
|
3
2
所以基本上你有3^8个可能的解决方案;都试试看。 这是PHP代码,但包括在其他基础上转换数字,这是一个8岁的男孩可能不会很快理解的。也许你可以找到这方面的转折点:
|
|
|
4
1
当然,它可以通过简单的迭代来解决。您只需将字符串转换为堆栈。 |
|
|
5
0
给定递归的有限深度,数组可以用作堆栈。 |
|
|
6
0
它可以迭代完成,但远不如这简单。更重要的是,你会利用这个机会来教你儿子算法的复杂性吗? |
|
|
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 1 年前 |
|
|
Alisa Petrova · 在有向图中更改一对顶点以创建循环 1 年前 |
|
|
b39b332d · 使用C++标准库实现高效间隔存储 2 年前 |
|
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 2 年前 |
|
|
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 2 年前 |