【发布时间】:2013-01-23 18:55:51
【问题描述】:
我一直在看目前关于 Coding Bat 的问题:
“我们有一个由块组成的三角形。最上面一行有 1 个块,下一行有 2 个块,下一行有 3 个块,依此类推。递归(无循环或乘法)计算块的总数在这样一个具有给定行数的三角形中。”
我了解问题的要求,也了解递归的工作原理。例如,如果给我一个递归函数,我可以手动计算它并显示输出将是什么。
问题实际上是根据给定问题创建递归函数,例如这个问题。我不确定如何实际设置并递归执行。在实际设置递归问题时是否需要遵循某种规则?我只能找到向您展示递归如何工作的示例,而不是向您展示如何实际解决递归问题。任何理解如何准备编写实际递归算法的帮助将不胜感激。
【问题讨论】:
-
尝试计算如果为行设置一些值(不同于 0 或 1)会发生什么。如果您将这样的代码用于堆栈空间极其有限的系统,会出现什么情况会很有趣。
-
阅读 The Little Schemer 的前 1/2。它有自然递归的分步示例和规则。
标签: java algorithm recursion geometry