-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfind.gr
More file actions
51 lines (42 loc) · 691 Bytes
/
find.gr
File metadata and controls
51 lines (42 loc) · 691 Bytes
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
var testArr : [Int ; 5]
fn binarySearch(l : Int, r : Int, x : Int) : Int
if r ge l:
var mid = (l + r) / 2
if testArr[mid] eq x :
return mid
if testArr[mid] gt x :
return binarySearch(l, mid - 1, x)
print mid + 1
print '\n'
return binarySearch(mid + 1, r, x)
return -1
fn main() : Int
var x = 5
var i = 0
while i lt 5:
testArr[i] = i
i = i + 1
var res = binarySearch(0, 3, 5)
if res eq -1 :
print 'N'
print 'o'
print ' '
print 'e'
print 'x'
print 'i'
print 's'
print 't'
print 'e'
print '\n'
else :
print 'P'
print 'r'
print 'e'
print 's'
print 'e'
print 'n'
print 't'
print 'e'
print ':'
print res
return 0