Jump to content

Two sum: Difference between revisions

m
→‎{{header|Perl}}: tweaks to avoid warnings, show revised output
m (→‎Functional: tweaks)
m (→‎{{header|Perl}}: tweaks to avoid warnings, show revised output)
Line 1,436:
=={{header|Perl}}==
{{trans|Python}}
<lang perl>use strict;
use warnings;
use feature 'say';
 
sub two_sum{
my ($sum,@arrnumbers) = @{shift @_};
my $num = shift;
my $i = 0;
my $j = $#arrnumbers - 1;
my @indices;
while ($i < $j) {
if ($arrnumbers[$i] + $arrnumbers[$j] == $numsum) { push @indices, ($i, $j); $i++; }
returnelsif ($numbers[$i,] + $numbers[$j] < $sum); { $i++ }
else { $j-- }
}
if ($arr[$i] + $arr[$j] < $num) {
$i += 1;
}
else {
$j -= 1;
return;
}
}
return @indices
}
 
my @numbers = <0 2 11 19 90>;
my ($n1, $n2)@indices = two_sum(\21, @numbers, 21);
say join ', ', @indices || 'No match';
 
my @numbersindices = two_sum(025, 2, 11, 19, 90@numbers);
say join ', ', @indices || 'No match';</lang>
my ($n1, $n2) = two_sum(\@numbers, 21);
{{out}}
print "$n1 $n2\n";
<pre>1, 3
($n1, $n2) = two_sum(\@numbers, 25);
No match</pre>
print "$n1 $n2\n";
 
</lang>
 
=={{header|Perl 6}}==
2,392

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.