我现在在我的编程类中学习递归,虽然我了解如何将递归用于诸如阶乘和回溯算法,但我一直试图思考递归缩写(如PHP )如何迭代已有相当一段时间了。如何编写一个程序来迭代PHP的扩展n次?
编辑:我需要澄清我的问题,PHP是一个递归缩略词,代表PHP: Personal主页。因此,如果您要扩展PHP:超文本处理器无限次,它看起来像PHP:超文本处理器超文本处理器.或使人感到不同
发布于 2013-09-24 21:48:51
我完全是在猜测你在问什么,但如果我是对的,它会是这样的:
function recursePHP($n) {
if ($n <= 0)
return 'PHP';
return recursePHP($n-1) . 'Hypertext Processor';
}考虑到n=2:“超文本处理器”,这是对您的问题采用递归函数的方法。
我认为这是通过缩略语进行递归的正确方法,因为考虑到第一次迭代,您最终使用了"PHP“,其中的PHP解析为"PHP”,因此它变成了"PHP Hypertext Processor",其中的粗体部分是第一次迭代中的PHP,等等。直到您迭代了指定数量的递归,然后才解析PHP,并在开始时使用n“超文本处理器”s。
发布于 2013-09-24 21:47:32
我假设"PHP:超文本处理器“将在第一次迭代之后扩展到"PHP:超文本ProcessorHP:超文本处理器”。
试试这个:
function iteration($i = 0) {
if ($i < 10)
{
echo iteration($i + 1) . 'HP: Personal Home Page';
}
else
{
echo 'P';
}
}
iteration();还没有测试,但足够让你开始了。
编辑:嗯,想一想,我真的不知道这个acryonym是怎么回事:-)的。
发布于 2013-09-24 23:44:28
由于PHP是PHP超文本处理器的一个acroym,我想扩展的结果将是PHP (超文本处理器){Inf},因为PHP中的第一个P会向PHP扩展,而其他两个字母则会在每次迭代中添加超文本处理器。
https://stackoverflow.com/questions/18992549
复制相似问题