24 lines
340 B
Text
24 lines
340 B
Text
; Recursive
|
|
@var rec &[a v l h] [
|
|
@if < h l @return null
|
|
@var m @/ +h l 2
|
|
@? {
|
|
> `m a v @!rec[a v l -m 1]
|
|
< `m a v @!rec[a v +1 m h]
|
|
m
|
|
}
|
|
]
|
|
|
|
; Iterative
|
|
@var itr &[a v] [
|
|
@vars{l 0 h #-a}
|
|
@while <= l h [
|
|
@var m @/ +l h 2
|
|
@iff {
|
|
> `m a v :h -m 1
|
|
< `m a v :l +m 1
|
|
@return m
|
|
}
|
|
]
|
|
null
|
|
]
|