Factorial: Difference between revisions

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