Factorial: Difference between revisions
Content added Content deleted
m (fixed incorrect placement) |
Langurmonkey (talk | contribs) |
||
Line 6,041: | Line 6,041: | ||
=={{header|langur}}== |
=={{header|langur}}== |
||
=== Folding === |
=== Folding === |
||
<syntaxhighlight lang="langur"> |
<syntaxhighlight lang="langur"> |
||
val factorial = fn n: fold(fn{*}, 2 .. n) |
|||
writeln |
writeln factorial(7) |
||
⚫ | |||
=== Recursive === |
=== Recursive === |
||
<syntaxhighlight lang="langur"> |
<syntaxhighlight lang="langur"> |
||
val factorial = fn x: if(x < 2: 1; x * self(x - 1)) |
|||
writeln factorial(7) |
|||
</syntaxhighlight> |
|||
=== Iterative === |
=== Iterative === |
||
<syntaxhighlight lang="langur"> |
<syntaxhighlight lang="langur"> |
||
val factorial = fn(i) { |
|||
⚫ | |||
var answer = 1 |
|||
. |
for x in 2 .. i { |
||
⚫ | |||
} |
} |
||
answer |
|||
} |
} |
||
writeln |
writeln factorial(7) |
||
</syntaxhighlight> |
|||
=== Iterative Folding === |
=== Iterative Folding === |
||
<syntaxhighlight lang="langur"> |
<syntaxhighlight lang="langur"> |
||
val factorial = fn n: for[=1] x in n { _for *= x } |
|||
⚫ | |||
writeln factorial(7) |
|||
</syntaxhighlight> |
|||
{{out}} |
{{out}} |