Two sum: Difference between revisions
Content added Content deleted
(Added Lua version) |
(→{{header|Perl 6}}: Added Perl 6 solution) |
||
Line 203: | Line 203: | ||
real 0m1.013s</pre> |
real 0m1.013s</pre> |
||
=={{header|Perl 6}}== |
|||
{{trans|zkl}} |
|||
<lang perl6>sub two_sum ( @numbers, $sum ) { |
|||
die '@numbers is not sorted' unless [<=] @numbers; |
|||
my ( $i, $j ) = 0, @numbers.end; |
|||
while $i < $j { |
|||
given $sum <=> @numbers[$i,$j].sum { |
|||
when Order::More { $i += 1 } |
|||
when Order::Less { $j -= 1 } |
|||
when Order::Same { return $i, $j } |
|||
} |
|||
} |
|||
return; |
|||
} |
|||
say two_sum ( 0, 2, 11, 19, 90 ), 21; |
|||
say two_sum ( 0, 2, 11, 19, 90 ), 25;</lang> |
|||
{{out}} |
|||
<pre>(1 3) |
|||
Nil</pre> |
|||
=={{header|REXX}}== |
=={{header|REXX}}== |