几年前曾提出过类似的问题,但这个问题甚至更棘手。
挑战很简单。写一个程序(在您所选择的语言),其不使用任何重复的结构,如重复执行代码while,for,do while,foreach或goto(所以对于你nitpickers,你不能用一个循环)。但是,在调用自身的函数中,不允许递归(请参见下面的定义)。那将使这一挑战变得太容易了。
对于循环中需要执行的内容没有任何限制,但是可以在答案中发布说明,以便其他人可以准确地了解正在执行的内容。
对于那些可能迷恋定义的人,此问题的循环定义为:
A programming language statement which allows code to be repeatedly executed.
这个问题的递归定义将是您的标准递归函数定义:
A function that calls itself.
7月16日东部时间上午10点,获胜者将是投票最多的答案。祝好运!
更新:
为了平息仍在表达的困惑,这可能会有所帮助:
上述规则:
- 不要使用循环或转到
- 函数不能调用自己
- 在“循环”中做任何你想做的事
如果您想实现某些东西而规则没有明确禁止这样做,请继续进行。许多答案已经违反了规则。
rep(f){f();f();}-这是一条允许重复执行代码的语句(函数声明是某些语言的语句)。是不允许的吗?您要求提供代码以实现循环。如果该代码在语法上是一个语句,则您刚刚不允许使用它。另一个示例:f(b) { b(); g(b); }; g(b) { f(b); }。我想说的f是一个递归函数(通过与相互递归g)。不允许吗?
                


function A调用function B和function B调用,function A而其中1个函数执行某些操作。由于该功能不调用它本身应该根据标准是有效的^^