-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfunctions.e
61 lines (45 loc) · 1.25 KB
/
functions.e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
define fibonacci number n
if n<2 then 1 else fibonacci n-1 + fibonacci n-2
end
assert fibonacci 5 is 8
assert return type of fibonacci is number
# more consise:
def fib n
if n<2: 1 else fib n-1 + fib n-2
assert fib 5 is 8
# a?b:c == a and b or c trick:
def fib(int n):
n<2 and 1 or fib(n-1) + fib n-2
assert fib(5)==8
# more verbose
define fibonacci of n
return 1 if n smaller 2
return fibonacci n-1 + fibonacci n-2
assert fibonacci of 5 is 8
define fibonacci of number as
1 if number smaller 2
otherwise fibonacci of number minus 1 plus fibonacci of number minus 2
end
assert fibonacci(5)=8
function fibonacci(number n)
if n < 2 return 1
else fibonacci of n-1 plus fibonacci n-2
assert fibonacci(5)==8
/* VERBOSE */
to calculate the fibonacci of a number
return 1 if number is smaller 2
return fibonacci of number minus 1 plus fibonacci of number minus 2
end
assert fibonacci of 5 is 8
assert 5.fibonacci is 8
to calculate the nth fibonacci number
return 1 if number is smaller 2
return fibonacci of number minus 1 plus fibonacci of number minus 2
end
calculate the 5th fibonacci number
assert result equals 8
# even allow java(script) style (?):
int fib(int n){
n<2 and 1 or fib n-1 + fib n-2
}
assert fib(5) is 8