24 lines
389 B
Plaintext
24 lines
389 B
Plaintext
Find := function(v, x)
|
|
local low, high, mid;
|
|
low := 1;
|
|
high := Length(v);
|
|
while low <= high do
|
|
mid := QuoInt(low + high, 2);
|
|
if v[mid] > x then
|
|
high := mid - 1;
|
|
elif v[mid] < x then
|
|
low := mid + 1;
|
|
else
|
|
return mid;
|
|
fi;
|
|
od;
|
|
return fail;
|
|
end;
|
|
|
|
u := [1..10]*7;
|
|
# [ 7, 14, 21, 28, 35, 42, 49, 56, 63, 70 ]
|
|
Find(u, 34);
|
|
# fail
|
|
Find(u, 35);
|
|
# 5
|