几年前曾提出过类似的问题,但这个问题甚至更棘手。
挑战很简单。写一个程序(在您所选择的语言),其不使用任何重复的结构,如重复执行代码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个函数执行某些操作。由于该功能不调用它本身应该根据标准是有效的^^