Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.03 KB | None | 0 0
  1. #!/usr/bin/perl -w
  2.  
  3. $fn = $ARGV[0];
  4. $ln = $ARGV[1];
  5.  
  6. sub do_curse {
  7.   my $n1 = shift;
  8.   my $n2 = shift;
  9.   my $pr = shift;
  10. #  print "dbg: $n1 $n2 $pr\n";
  11.   if (length($n1) == 1 && length($n2) == 1) {
  12.     for (my $i = int($n1); $i <= int($n2); $i++) {
  13.       print $pr . $i . "\n";
  14.     }
  15.   } else {
  16. #  print "dbg2: $n1 $n2 $pr\n";
  17.     my $a = int(substr($n1, 0, 1));
  18.     my $b = int(substr($n2, 0, 1));
  19. #  print "dbg3: $a $b\n";
  20.     if ($a == $b) {
  21.       if (length($n1) == 1) {
  22.         $n1 .= "0";
  23.       }
  24.       if (length($n2) == 1) {
  25.         $n2 .= "0";
  26.       }
  27.       do_curse(substr($n1, 1), substr($n2, 1), $pr . $a);
  28.     } else {
  29.       if (length($n1) == 1) {
  30.         print $pr . $n1 . "\n";
  31.       } else {
  32.         do_curse(substr($n1, 1), "9", $pr . $a);
  33.       }
  34.       if ($b - $a > 1) {
  35.         do_curse($a + 1, $b - 1, $pr);
  36.       }
  37.       if (length($n2) == 1) {
  38.         print $pr . $n2 . "\n";
  39.       } else {
  40.         do_curse("0", substr($n2, 1), $pr . $b);
  41.       }
  42.     }
  43.   }
  44. };
  45.  
  46. do_curse($fn, $ln, "");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement