RosettaCodeData/Task/Binary-search/Perl-6/binary-search-3.pl6
Ingy döt Net d066446780 langs a-z
2013-04-10 22:43:41 -07:00

9 lines
310 B
Raku

sub binary_search (&p, Int $lo, Int $hi --> Int) {
$lo <= $hi or fail;
my Int $mid = ($lo + $hi) div 2;
given p $mid {
when -1 { binary_search &p, $lo, $mid - 1 }
when 1 { binary_search &p, $mid + 1, $hi }
default { $mid }
}
}