Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.60 KB | None | 0 0
  1. #!/usr/bin/env perl
  2.  
  3. use strict;
  4. use warnings;
  5. use feature 'say';
  6.  
  7. use DDP { deparse => 1 };
  8.  
  9. my @seeds;
  10. for (1..100){
  11. push(@seeds, int(rand(100)));
  12. }
  13. my %hash;
  14. @seeds = grep{!$hash{$_}++}@seeds;
  15.  
  16. my $target = int(rand(100));
  17.  
  18. @seeds = sort {$a <=> $b} @seeds;
  19. print join(',', @seeds) . "\n";
  20.  
  21. my $s = 0;
  22. my $e = (scalar @seeds) - 1;
  23. my $i;
  24. while ($s <= $e){
  25. $i = $s + int(($e - $s + 1) / 2);
  26. if ($seeds[$i] == $target){
  27. print "$target found at $i\n";
  28. exit;
  29. } elsif ($seeds[$i] > $target){
  30. $e = $i - 1;
  31. } else {
  32. $s = $i + 1;
  33. }
  34. }
  35.  
  36. print "$target not found\n";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement