2016-02-20 10:12:26 +02:00
|
|
|
// Factorial
|
2015-07-11 21:19:59 +03:00
|
|
|
def factorial(n) {
|
|
|
|
if n == 1 return 1
|
|
|
|
return n * factorial(n-1)
|
|
|
|
}
|
|
|
|
|
|
|
|
print factorial(6)
|
|
|
|
print "\n"
|
|
|
|
|
|
|
|
// 0 1 1 2 3 5 8 13 21 34
|
|
|
|
def fibonacci(count) {
|
|
|
|
def fib(n) {
|
|
|
|
if n < 2 return n
|
|
|
|
return fib(n-2) + fib(n-1)
|
|
|
|
}
|
|
|
|
|
|
|
|
return fib(count)
|
|
|
|
}
|
|
|
|
|
2016-02-14 21:24:06 +02:00
|
|
|
for i = 0, i < 10, i++
|
2015-07-11 21:19:59 +03:00
|
|
|
print " " + fibonacci(i)
|
|
|
|
print "\n"
|
|
|
|
|
|
|
|
|
2016-02-20 10:12:26 +02:00
|
|
|
// Tail recursive factorial
|
2015-07-11 21:19:59 +03:00
|
|
|
def factorial_tailrec(n) {
|
|
|
|
def fact(acc, n) {
|
|
|
|
if n == 0 return acc
|
|
|
|
return fact(acc * n, n - 1)
|
|
|
|
}
|
|
|
|
return fact(1, n-1)
|
|
|
|
}
|
|
|
|
|
|
|
|
print factorial_tailrec(6)
|
|
|
|
print "\n"
|