Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env perl
- use strict;
- use warnings;
- use feature 'say';
- use DDP { deparse => 1 };
- my @seeds;
- for (1..100){
- push(@seeds, int(rand(100)));
- }
- my %hash;
- @seeds = grep{!$hash{$_}++}@seeds;
- my $target = int(rand(100));
- @seeds = sort {$a <=> $b} @seeds;
- print join(',', @seeds) . "\n";
- my $s = 0;
- my $e = (scalar @seeds) - 1;
- my $i;
- while ($s <= $e){
- $i = $s + int(($e - $s + 1) / 2);
- if ($seeds[$i] == $target){
- print "$target found at $i\n";
- exit;
- } elsif ($seeds[$i] > $target){
- $e = $i - 1;
- } else {
- $s = $i + 1;
- }
- }
- print "$target not found\n";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement