mirror of
https://github.com/aNNiMON/Own-Programming-Language-Tutorial.git
synced 2024-09-20 00:34:20 +03:00
35 lines
561 B
Scala
35 lines
561 B
Scala
// Factorial
|
|
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)
|
|
}
|
|
|
|
for i = 0, i < 10, i++
|
|
print " " + fibonacci(i)
|
|
print "\n"
|
|
|
|
|
|
// Tail recursive factorial
|
|
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" |