51 lines
1.5 KiB
Perl
Executable File
51 lines
1.5 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
use strict;
|
|
|
|
my $input = <DATA>;
|
|
chomp($input);
|
|
my @ranges = split(/,/,$input);
|
|
|
|
my $sum = 0;
|
|
my $sum2 = 0;
|
|
foreach my $range (@ranges) {
|
|
my($first,$last)=split(/-/, $range);
|
|
|
|
for(my $i=$first; $i<=$last; $i++) {
|
|
my $l = length "$i";
|
|
if($l % 2 == 0) {
|
|
if(substr($i, 0, $l/2) eq substr($i, $l/2, $l/2)) {
|
|
print "Invalid: $i\n";
|
|
$sum += $i;
|
|
$sum2 += $i;
|
|
next;
|
|
}
|
|
}
|
|
|
|
for(my $len = 1; $len <= (length "$i")/2; $len++) {
|
|
my $str = substr($i, 0, $len);
|
|
my $working = $str . $str;
|
|
while(length $working < length $i) {
|
|
$working .= $str;
|
|
}
|
|
if($working == $i) {
|
|
print "Invalid2: $i\n";
|
|
$sum2 += $i;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
print "Sum is $sum\n";
|
|
print "Sum2 is $sum2\n";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
__DATA__
|
|
10327-17387,74025-113072,79725385-79874177,964628-1052240,148-297,3-16,126979-227778,1601-2998,784-1207,831289-917268,55603410-55624466,317-692,602197-750430,17-32,38-58,362012-455626,3622441-3647505,883848601-883920224,62-105,766880-804855,9184965756-9185005415,490073-570277,2929273115-2929318135,23251-48475,9696863768-9697013088,229453-357173,29283366-29304416,4526-8370,3095-4389,4400617-4493438
|
|
11-22,95-115,998-1012,1188511880-1188511890,222220-222224,1698522-1698528,446443-446449,38593856-38593862,565653-565659,824824821-824824827,2121212118-2121212124
|