diff options
Diffstat (limited to 'challenge-150/abigail/data/preprocess')
| -rwxr-xr-x | challenge-150/abigail/data/preprocess | 244 |
1 files changed, 0 insertions, 244 deletions
diff --git a/challenge-150/abigail/data/preprocess b/challenge-150/abigail/data/preprocess deleted file mode 100755 index 20cdfa2cb0..0000000000 --- a/challenge-150/abigail/data/preprocess +++ /dev/null @@ -1,244 +0,0 @@ -#!/opt/perl/bin/perl - -use 5.032; - -use strict; -use warnings; -no warnings 'syntax'; - -use experimental 'signatures'; -use experimental 'lexical_subs'; - -use LWP::Simple; - -my $lang = lc (shift // "Perl"); - -my $URL = "https://oeis.org/A287298/b287298.txt"; - -my @chars = (0 .. 9, 'A' .. 'Z'); -my @A287298; -my $ARRAY = 'A287298'; -my $file = lc $ARRAY; - -$ENV {BC_LINE_LENGTH} = 1000; - -foreach my $line (split (/\n/ => get $URL), - "22 340653564758245010607213613056", - "23 20837313275713865979999662611449", - "24 1331214423741263089885099589776609", - "25 88663641996555130440258540215016516") { - next unless $line =~ /^([0-9]+)\s+([0-9]+)/; - my ($base, $value) = ($1, $2); - my $value_in_base = `echo "obase=$base; $value" | bc` - =~ s/ ([0-9]{2})/$chars [0 + $1]/egr - =~ s/\n//r; - $A287298 [$base] = [$value_in_base, $value]; -} - -my $size = @A287298; -my $max_base = $size - 1; -my $width = 2 + length $A287298 [$max_base] [0]; - - -open my $awk_h, ">", "$file.awk" or die "open $file.awk: $!"; -open my $bash_h, ">", "$file.sh" or die "open $file.sh: $!"; -open my $basic_h, ">", "$file.bas" or die "open $file.bas: $!"; -open my $bc_h, ">", "$file.bc" or die "open $file.bc: $!"; -open my $c_h, ">", "$file.c" or die "open $file.c: $!"; -open my $go_h, ">", "$file.go" or die "open $file.go: $!"; -open my $java_h, ">", "$file.java" or die "open $file.java: $!"; -open my $lua_h, ">", "$file.lua" or die "open $file.lua: $!"; -open my $node_h, ">", "$file.js" or die "open $file.js: $!"; -open my $pascal_h, ">", "$file.p" or die "open $file.p: $!"; -open my $perl_h, ">", "$file.pl" or die "open $file.pl: $!"; -open my $python_h, ">", "$file.py" or die "open $file.py: $!"; -open my $r_h, ">", "$file.r" or die "open $file.r: $!"; -open my $ruby_h, ">", "$file.rb" or die "open $file.rb: $!"; -open my $scheme_h, ">", "$file.scm" or die "open $file.scm: $!"; -open my $tcl_h, ">", "$file.tcl" or die "open $file.tcl: $!"; - -my $basic_ln = 990; - -say $awk_h "BEGIN {"; - -say $bash_h "declare -a $ARRAY\n"; - -say $basic_h ($basic_ln += 10), " maxbase = $max_base\n"; -say $basic_h ($basic_ln += 10), " INPUT N\n\n"; - -say $bc_h "max_base = $max_base\n"; - -print $c_h <<~ "--"; - int main (void) { - char * $ARRAY [$size]; - size_t max_base = $max_base; - - -- - -print $go_h <<~ "--"; - func main () { - max_base := $max_base - var $ARRAY [$size] string - - -- - -print $java_h <<~ "--"; - public static void main (String [] args) { - int max_base = $max_base; - String [] $ARRAY = new String [$size]; - -- - -say $lua_h "$ARRAY = {}\n"; - -say $node_h "let $ARRAY = []\n"; - -print $pascal_h <<~ "--"; - var - $ARRAY: array [0 .. $max_base] of string; - max_base: integer = $max_base; - - begin - -- - -say $perl_h "my \@$ARRAY;\n"; - -say $python_h "$ARRAY = {}\n"; - -print $r_h <<~ "--"; - $ARRAY <- c () - max_base <- $max_base - - -- - -say $ruby_h "$ARRAY = []\n"; - -print $scheme_h <<~ "--"; - (define $ARRAY '()) - (define max_base $max_base) - - -- - -say $tcl_h "set $ARRAY list\n"; - -while (my ($i, $info) = each @A287298) { - if (!defined $info) { - printf $c_h " $ARRAY [%2d] = %${width}s;\n", $i, "NULL"; - printf $go_h " $ARRAY [%2d] = %${width}s\n", $i, '""'; - printf $java_h " $ARRAY [%2d] = %${width}s;\n", $i, '""'; - printf $pascal_h " $ARRAY [%2d] = %${width}s;\n", $i, "''"; - printf $scheme_h "(set! $ARRAY (append $ARRAY (list %${width}s)))\n", - '""'; - printf $tcl_h "lset $ARRAY %2d %${width}s\n", $i, '""'; - next; - } - my ($value, $decimal_value) = @$info; - my $dqvalue = qq ["$value"]; - my $sqvalue = qq ['$value']; - - # - # AWK - # - printf $awk_h " $ARRAY [%2d] = %${width}s\n", $i, $dqvalue; - - # - # Bash - # - printf $bash_h "${ARRAY}[%d]=%s\n", $i, $value; - - # - # BASIC - # - printf $basic_h "%04d IF N = %2d THEN PRINT %${width}s\n", - ($basic_ln += 10), $i, $dqvalue; - - # - # bc - # - if ($i <= 16) { - printf $bc_h "\l$ARRAY [%2d] = %30s\n", $i, $decimal_value; - } - - # - # C - # - printf $c_h " $ARRAY [%2d] = %${width}s;\n", $i, $dqvalue; - - # - # Go - # - printf $go_h " $ARRAY [%2d] = %${width}s\n", $i, $dqvalue; - - # - # Java - # - printf $java_h " $ARRAY [%2d] = %${width}s;\n", $i, $dqvalue; - - # - # Lua - # - printf $lua_h "$ARRAY [%2d] = %${width}s\n", $i, $dqvalue; - - # - # Node.js - # - printf $node_h "$ARRAY [%2d] = %${width}s\n", $i, $dqvalue; - - # - # Pascal - # - printf $pascal_h " $ARRAY [%2d] := %${width}s;\n", $i, $sqvalue; - - # - # Perl - # - printf $perl_h "\$$ARRAY [%2d] = %${width}s;\n", $i, $dqvalue; - - # - # Python - # - printf $python_h "$ARRAY [%2d] = %${width}s\n", $i, $dqvalue; - - # - # R - # - printf $r_h "$ARRAY [[%2d]] <- %${width}s\n", $i, $dqvalue; - - # - # Ruby - # - printf $ruby_h "${ARRAY}[%2d] = %${width}s\n", $i, $dqvalue; - - # - # Scheme - # - printf $scheme_h "(set! $ARRAY (append $ARRAY (list %${width}s)))\n", - $dqvalue; - - # - # Tcl - # - printf $tcl_h "lset $ARRAY %2d %${width}s\n", $i, $dqvalue; -} -say $awk_h "}"; -say $c_h "}"; -say $go_h "}"; -say $java_h " }"; -say $pascal_h "end."; - - -close $awk_h or die "close $file.awk: $!"; -close $bash_h or die "close $file.sh: $!"; -close $basic_h or die "close $file.bas: $!"; -close $bc_h or die "close $file.bc: $!"; -close $c_h or die "close $file.c: $!"; -close $go_h or die "close $file.go: $!"; -close $java_h or die "close $file.java: $!"; -close $lua_h or die "close $file.lua: $!"; -close $node_h or die "close $file.js: $!"; -close $pascal_h or die "close $file.p: $!"; -close $perl_h or die "close $file.pl: $!"; -close $python_h or die "close $file.py: $!"; -close $r_h or die "close $file.r: $!"; -close $ruby_h or die "close $file.rb: $!"; -close $scheme_h or die "close $file.scm: $!"; -close $tcl_h or die "close $file.tcl: $!"; |
