diff options
Diffstat (limited to 'challenge-149')
| -rw-r--r-- | challenge-149/abigail/awk/ch-2.awk | 41 | ||||
| -rw-r--r-- | challenge-149/abigail/bash/ch-2.sh | 38 | ||||
| -rw-r--r-- | challenge-149/abigail/basic/ch-2.bas | 36 | ||||
| -rw-r--r-- | challenge-149/abigail/bc/ch-2.bc | 67 | ||||
| -rw-r--r-- | challenge-149/abigail/c/ch-2.c | 51 | ||||
| -rw-r--r-- | challenge-149/abigail/go/ch-2.go | 54 | ||||
| -rw-r--r-- | challenge-149/abigail/java/ch-2.java | 49 | ||||
| -rw-r--r-- | challenge-149/abigail/lua/ch-2.lua | 41 | ||||
| -rw-r--r-- | challenge-149/abigail/node/ch-2.js | 38 | ||||
| -rw-r--r-- | challenge-149/abigail/pascal/ch-2.p | 49 | ||||
| -rw-r--r-- | challenge-149/abigail/perl/ch-2.pl | 72 | ||||
| -rw-r--r-- | challenge-149/abigail/python/ch-2.py | 42 | ||||
| -rw-r--r-- | challenge-149/abigail/r/ch-2.r | 47 | ||||
| -rw-r--r-- | challenge-149/abigail/ruby/ch-2.rb | 36 | ||||
| -rw-r--r-- | challenge-149/abigail/scheme/ch-2.scm | 56 | ||||
| -rw-r--r-- | challenge-149/abigail/tcl/ch-2.tcl | 43 |
16 files changed, 760 insertions, 0 deletions
diff --git a/challenge-149/abigail/awk/ch-2.awk b/challenge-149/abigail/awk/ch-2.awk new file mode 100644 index 0000000000..1b8416f19b --- /dev/null +++ b/challenge-149/abigail/awk/ch-2.awk @@ -0,0 +1,41 @@ +#!/usr/bin/awk + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 +# + +# +# Run as: awk -f ch-2.awk < input-file +# + +BEGIN { + A287298 [ 2] = "1" + A287298 [ 3] = "1" + A287298 [ 4] = "3201" + A287298 [ 5] = "4301" + A287298 [ 6] = "452013" + A287298 [ 7] = "6250341" + A287298 [ 8] = "47302651" + A287298 [ 9] = "823146570" + A287298 [10] = "9814072356" + A287298 [11] = "A8701245369" + A287298 [12] = "B8750A649321" + A287298 [13] = "CBA504216873" + A287298 [14] = "DC71B30685A924" + A287298 [15] = "EDAC93B24658701" + A287298 [16] = "FED5B39A42706C81" + A287298 [17] = "GFED5A31C6B79802" + A287298 [18] = "HGF80ADC53712EB649" + A287298 [19] = "IHGFD3408C6E715A2B9" + A287298 [20] = "JIHG03DAC457BFE96281" + A287298 [22] = "LKJIG5D14B9032FHAC867E" +} + +{ + if ($1 in A287298) { + print A287298 [$1] + } + else { + print "Too hard to calculate" + } +} diff --git a/challenge-149/abigail/bash/ch-2.sh b/challenge-149/abigail/bash/ch-2.sh new file mode 100644 index 0000000000..ba798b6707 --- /dev/null +++ b/challenge-149/abigail/bash/ch-2.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 +# + +# +# Run as: bash ch-2.sh < input-file +# + +set -f + +declare -a A287298 + +A287298[2]=1 +A287298[3]=1 +A287298[4]=3201 +A287298[5]=4301 +A287298[6]=452013 +A287298[7]=6250341 +A287298[8]=47302651 +A287298[9]=823146570 +A287298[10]=9814072356 +A287298[11]=A8701245369 +A287298[12]=B8750A649321 +A287298[13]=CBA504216873 +A287298[14]=DC71B30685A924 +A287298[15]=EDAC93B24658701 +A287298[16]=FED5B39A42706C81 +A287298[17]=GFED5A31C6B79802 +A287298[18]=HGF80ADC53712EB649 +A287298[19]=IHGFD3408C6E715A2B9 +A287298[20]=JIHG03DAC457BFE96281 +A287298[22]=LKJIG5D14B9032FHAC867E + +while read n +do echo ${A287298[$n]:-"Too hard to calculate"} +done diff --git a/challenge-149/abigail/basic/ch-2.bas b/challenge-149/abigail/basic/ch-2.bas new file mode 100644 index 0000000000..837319f2fc --- /dev/null +++ b/challenge-149/abigail/basic/ch-2.bas @@ -0,0 +1,36 @@ +0010 REM +0020 REM See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 +0030 REM + +0040 REM +0050 REM Run as: basic ch-2.bas < input-file +0060 REM + +1000 INPUT N +1005 IF N < 0 THEN END + + +1010 IF N = 2 THEN PRINT "1" +1020 IF N = 3 THEN PRINT "1" +1030 IF N = 4 THEN PRINT "3201" +1040 IF N = 5 THEN PRINT "4301" +1050 IF N = 6 THEN PRINT "452013" +1060 IF N = 7 THEN PRINT "6250341" +1070 IF N = 8 THEN PRINT "47302651" +1080 IF N = 9 THEN PRINT "823146570" +1090 IF N = 10 THEN PRINT "9814072356" +1100 IF N = 11 THEN PRINT "A8701245369" +1110 IF N = 12 THEN PRINT "B8750A649321" +1120 IF N = 13 THEN PRINT "CBA504216873" +1130 IF N = 14 THEN PRINT "DC71B30685A924" +1140 IF N = 15 THEN PRINT "EDAC93B24658701" +1150 IF N = 16 THEN PRINT "FED5B39A42706C81" +1160 IF N = 17 THEN PRINT "GFED5A31C6B79802" +1170 IF N = 18 THEN PRINT "HGF80ADC53712EB649" +1180 IF N = 19 THEN PRINT "IHGFD3408C6E715A2B9" +1190 IF N = 20 THEN PRINT "JIHG03DAC457BFE96281" +1195 IF N = 21 THEN PRINT "Too hard to calculate" +1200 IF N = 22 THEN PRINT "LKJIG5D14B9032FHAC867E" +1210 IF N > 22 THEN PRINT "Too hard to calculate" + +5000 GOTO 1000 diff --git a/challenge-149/abigail/bc/ch-2.bc b/challenge-149/abigail/bc/ch-2.bc new file mode 100644 index 0000000000..e4a9d9a2aa --- /dev/null +++ b/challenge-149/abigail/bc/ch-2.bc @@ -0,0 +1,67 @@ +#!/usr/bin/bc + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 +# + +# +# Run as: bc ch-2.bc < input-file +# + +a287298 [ 2] = 1 +a287298 [ 3] = 1 +a287298 [ 4] = 225 +a287298 [ 5] = 576 +a287298 [ 6] = 38025 +a287298 [ 7] = 751689 +a287298 [ 8] = 10323369 +a287298 [ 9] = 355624164 +a287298 [10] = 9814072356 +a287298 [11] = 279740499025 +a287298 [12] = 8706730814089 +a287298 [13] = 23132511879129 +a287298 [14] = 11027486960232964 +a287298 [15] = 435408094460869201 +a287298 [16] = 18362780530794065025 + +while (1) { + n = read () + if (n == 0) { + break + } + done = 0 + if (n <= 16) { + obase=n + a287298 [n] + done = 1 + } + if (n == 17) { + "GFED5A31C6B79802" + done = 1 + } + if (n == 18) { + "HGF80ADC53712EB649" + done = 1 + } + if (n == 19) { + "IHGFD3408C6E715A2B9" + done = 1 + } + if (n == 20) { + "JIHG03DAC457BFE96281" + done = 1 + } + if (n == 22) { + "LKJIG5D14B9032FHAC867E" + done = 1 + } + if (done == 0) { + "Too hard to calculate" + } + if (n > 16) { + " +" + } +} + +halt diff --git a/challenge-149/abigail/c/ch-2.c b/challenge-149/abigail/c/ch-2.c new file mode 100644 index 0000000000..6f9c25796d --- /dev/null +++ b/challenge-149/abigail/c/ch-2.c @@ -0,0 +1,51 @@ +# include <stdlib.h> +# include <stdio.h> +# include <string.h> + +/* + * See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 + */ + +/* + * Run as: cc -o ch-2.o ch-2.c; ./ch-2.o < input-file + */ + +int main (void) { + char * A287298 [23]; + int n; + + A287298 [ 0] = NULL; + A287298 [ 1] = NULL; + A287298 [ 2] = "1"; + A287298 [ 3] = "1"; + A287298 [ 4] = "3201"; + A287298 [ 5] = "4301"; + A287298 [ 6] = "452013"; + A287298 [ 7] = "6250341"; + A287298 [ 8] = "47302651"; + A287298 [ 9] = "823146570"; + A287298 [10] = "9814072356"; + A287298 [11] = "A8701245369"; + A287298 [12] = "B8750A649321"; + A287298 [13] = "CBA504216873"; + A287298 [14] = "DC71B30685A924"; + A287298 [15] = "EDAC93B24658701"; + A287298 [16] = "FED5B39A42706C81"; + A287298 [17] = "GFED5A31C6B79802"; + A287298 [18] = "HGF80ADC53712EB649"; + A287298 [19] = "IHGFD3408C6E715A2B9"; + A287298 [20] = "JIHG03DAC457BFE96281"; + A287298 [21] = NULL; + A287298 [22] = "LKJIG5D14B9032FHAC867E"; + + while (scanf ("%d", &n) == 1) { + if (n > 22 || A287298 [n] == NULL) { + printf ("Too hard to calculate\n"); + } + else { + printf ("%s\n", A287298 [n]); + } + } + + return (0); +} diff --git a/challenge-149/abigail/go/ch-2.go b/challenge-149/abigail/go/ch-2.go new file mode 100644 index 0000000000..b13f0eb72c --- /dev/null +++ b/challenge-149/abigail/go/ch-2.go @@ -0,0 +1,54 @@ +package main + +// +// See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 +// + +// +// Run as: go run ch-2.go < input-file +// + +import ( + "fmt" +) + +func main () { + var A287298 [23] string + + A287298 [ 0] = "" + A287298 [ 1] = "" + A287298 [ 2] = "1" + A287298 [ 3] = "1" + A287298 [ 4] = "3201" + A287298 [ 5] = "4301" + A287298 [ 6] = "452013" + A287298 [ 7] = "6250341" + A287298 [ 8] = "47302651" + A287298 [ 9] = "823146570" + A287298 [10] = "9814072356" + A287298 [11] = "A8701245369" + A287298 [12] = "B8750A649321" + A287298 [13] = "CBA504216873" + A287298 [14] = "DC71B30685A924" + A287298 [15] = "EDAC93B24658701" + A287298 [16] = "FED5B39A42706C81" + A287298 [17] = "GFED5A31C6B79802" + A287298 [18] = "HGF80ADC53712EB649" + A287298 [19] = "IHGFD3408C6E715A2B9" + A287298 [20] = "JIHG03DAC457BFE96281" + A287298 [21] = "" + A287298 [22] = "LKJIG5D14B9032FHAC867E" + + for { + var n int + c, err := fmt . Scanf ("%d", &n) + if c != 1 || err != nil { + break + } + if (n > 22 || len (A287298 [n]) == 0) { + fmt . Print ("Too hard to calculate\n") + } else { + fmt . Printf ("%s\n", A287298 [n]) + } + } +} diff --git a/challenge-149/abigail/java/ch-2.java b/challenge-149/abigail/java/ch-2.java new file mode 100644 index 0000000000..46cdcd7432 --- /dev/null +++ b/challenge-149/abigail/java/ch-2.java @@ -0,0 +1,49 @@ +// +// See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 +// + +// +// Run as: ln ch-2.java ch2.java; javac ch2.java; java ch2 < input-file +// + +import java.util.*; + +public class ch2 { + public static void main (String [] args) { + String [] A287298 = new String [23]; + A287298 [ 0] = ""; + A287298 [ 1] = ""; + A287298 [ 2] = "1"; + A287298 [ 3] = "1"; + A287298 [ 4] = "3201"; + A287298 [ 5] = "4301"; + A287298 [ 6] = "452013"; + A287298 [ 7] = "6250341"; + A287298 [ 8] = "47302651"; + A287298 [ 9] = "823146570"; + A287298 [10] = "9814072356"; + A287298 [11] = "A8701245369"; + A287298 [12] = "B8750A649321"; + A287298 [13] = "CBA504216873"; + A287298 [14] = "DC71B30685A924"; + A287298 [15] = "EDAC93B24658701"; + A287298 [16] = "FED5B39A42706C81"; + A287298 [17] = "GFED5A31C6B79802"; + A287298 [18] = "HGF80ADC53712EB649"; + A287298 [19] = "IHGFD3408C6E715A2B9"; + A287298 [20] = "JIHG03DAC457BFE96281"; + A287298 [21] = ""; + A287298 [22] = "LKJIG5D14B9032FHAC867E"; + + Scanner scanner = new Scanner (System . in); + while (scanner . hasNextInt ()) { + int n = scanner . nextInt (); + if (n > 22 || A287298 [n] . length () == 0) { + System . out . println ("Too hard to calculate"); + } + else { + System . out . printf ("%s\n", A287298 [n]); + } + } + } +} diff --git a/challenge-149/abigail/lua/ch-2.lua b/challenge-149/abigail/lua/ch-2.lua new file mode 100644 index 0000000000..d4bc1d556f --- /dev/null +++ b/challenge-149/abigail/lua/ch-2.lua @@ -0,0 +1,41 @@ +#!/opt/local/bin/lua + +-- +-- See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 +-- + +-- +-- Run as: lua ch-2.lua < input-file +-- + +A287298 = {} + +A287298 [ 2] = "1" +A287298 [ 3] = "1" +A287298 [ 4] = "3201" +A287298 [ 5] = "4301" +A287298 [ 6] = "452013" +A287298 [ 7] = "6250341" +A287298 [ 8] = "47302651" +A287298 [ 9] = "823146570" +A287298 [10] = "9814072356" +A287298 [11] = "A8701245369" +A287298 [12] = "B8750A649321" +A287298 [13] = "CBA504216873" +A287298 [14] = "DC71B30685A924" +A287298 [15] = "EDAC93B24658701" +A287298 [16] = "FED5B39A42706C81" +A287298 [17] = "GFED5A31C6B79802" +A287298 [18] = "HGF80ADC53712EB649" +A287298 [19] = "IHGFD3408C6E715A2B9" +A287298 [20] = "JIHG03DAC457BFE96281" +A287298 [22] = "LKJIG5D14B9032FHAC867E" + +for n in io . lines () do + n = tonumber (n) + if A287298 [n] == nil then + print "Too hard to calculate" + else + print (A287298 [n]) + end +end diff --git a/challenge-149/abigail/node/ch-2.js b/challenge-149/abigail/node/ch-2.js new file mode 100644 index 0000000000..464ebf74ee --- /dev/null +++ b/challenge-149/abigail/node/ch-2.js @@ -0,0 +1,38 @@ +#!/usr/local/bin/node + +// +// See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 +// + +// +// Run as: node ch-2.js < input-file +// + +let A287298 = [] + +A287298 [ 2] = "1" +A287298 [ 3] = "1" +A287298 [ 4] = "3201" +A287298 [ 5] = "4301" +A287298 [ 6] = "452013" +A287298 [ 7] = "6250341" +A287298 [ 8] = "47302651" +A287298 [ 9] = "823146570" +A287298 [10] = "9814072356" +A287298 [11] = "A8701245369" +A287298 [12] = "B8750A649321" +A287298 [13] = "CBA504216873" +A287298 [14] = "DC71B30685A924" +A287298 [15] = "EDAC93B24658701" +A287298 [16] = "FED5B39A42706C81" +A287298 [17] = "GFED5A31C6B79802" +A287298 [18] = "HGF80ADC53712EB649" +A287298 [19] = "IHGFD3408C6E715A2B9" +A287298 [20] = "JIHG03DAC457BFE96281" +A287298 [22] = "LKJIG5D14B9032FHAC867E" + + require ('readline') +. createInterface ({input: process . stdin}) +. on ('line', n => { + console . log (A287298 [n] || "Too hard to calculate") +}) diff --git a/challenge-149/abigail/pascal/ch-2.p b/challenge-149/abigail/pascal/ch-2.p new file mode 100644 index 0000000000..ae7df583aa --- /dev/null +++ b/challenge-149/abigail/pascal/ch-2.p @@ -0,0 +1,49 @@ +Program ch2; + +(* *) +(* See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 *) +(* *) + +(* *) +(* Run as: fpc -och-2.out ch-2.p; ./ch-2.out < input-file *) +(* *) + +var + A287298: array [0 .. 22] of string; + n: integer; + +begin + A287298 [ 0] := ''; + A287298 [ 1] := ''; + A287298 [ 2] := '1'; + A287298 [ 3] := '1'; + A287298 [ 4] := '3201'; + A287298 [ 5] := '4301'; + A287298 [ 6] := '452013'; + A287298 [ 7] := '6250341'; + A287298 [ 8] := '47302651'; + A287298 [ 9] := '823146570'; + A287298 [10] := '9814072356'; + A287298 [11] := 'A8701245369'; + A287298 [12] := 'B8750A649321'; + A287298 [13] := 'CBA504216873'; + A287298 [14] := 'DC71B30685A924'; + A287298 [15] := 'EDAC93B24658701'; + A287298 [16] := 'FED5B39A42706C81'; + A287298 [17] := 'GFED5A31C6B79802'; + A287298 [18] := 'HGF80ADC53712EB649'; + A287298 [19] := 'IHGFD3408C6E715A2B9'; + A287298 [20] := 'JIHG03DAC457BFE96281'; + A287298 [21] := ''; + A287298 [22] := 'LKJIG5D14B9032FHAC867E'; + + while not eof do begin + readln (n); + if (n > 22) or (length (A287298 [n]) = 0) then begin + writeln ('Too hard to calculate'); + end + else begin + writeln (A287298 [n]); + end; + end; +end. diff --git a/challenge-149/abigail/perl/ch-2.pl b/challenge-149/abigail/perl/ch-2.pl new file mode 100644 index 0000000000..3538416102 --- /dev/null +++ b/challenge-149/abigail/perl/ch-2.pl @@ -0,0 +1,72 @@ +#!/opt/perl/bin/perl + +use 5.032; + +use strict; +use warnings; +no warnings 'syntax'; + +use experimental 'signatures'; +use experimental 'lexical_subs'; + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 +# + +# +# Run as: perl ch-2.pl < input-file +# + +# +# This sequence A287298 in the OEIS. +# +# It's worrysome that the OEIS only lists entries up to n = 22 (while +# skipping n = 21). +# +# And if we look at the given Python program to generate the entries, +# we see it's very slow: it starts with the largest number in base b +# where all the digits are distinct, of which it takes the integer +# square root. This is m. We then square m, getting m2. If all the digits +# of m2 are different, we done. Else, we keep decrementing m by 1 and +# repeat the process till we have an m2 of which all the digits are +# different. +# +# This is *extremely slow* unless n is small. +# +# Therefore, we will not repeat this calculation. Instead, we will +# just use a loopup table, using the values from +# https://oeis.org/A287298/b287298.txt. +# +# This lookup table was created by ../data/preprocess: +# - We fetch the values from https://oeis.org/A287298/b287298.txt, +# and inject the value for base = 22 +# - We then use bc to translate the decimal numbers to the +# appropriate base. +# - For bases exceeding 16, bc doesn't use letters, but numbers; +# we use a regexp to fix those. +# + +my @A287298; + +$A287298 [ 2] = "1"; +$A287298 [ 3] = "1"; +$A287298 [ 4] = "3201"; +$A287298 [ 5] = "4301"; +$A287298 [ 6] = "452013"; +$A287298 [ 7] = "6250341"; +$A287298 [ 8] = "47302651"; +$A287298 [ 9] = "823146570"; +$A287298 [10] = "9814072356"; +$A287298 [11] = "A8701245369"; +$A287298 [12] = "B8750A649321"; +$A287298 [13] = "CBA504216873"; +$A287298 [14] = "DC71B30685A924"; +$A287298 [15] = "EDAC93B24658701"; +$A287298 [16] = "FED5B39A42706C81"; +$A287298 [17] = "GFED5A31C6B79802"; +$A287298 [18] = "HGF80ADC53712EB649"; +$A287298 [19] = "IHGFD3408C6E715A2B9"; +$A287298 [20] = "JIHG03DAC457BFE96281"; +$A287298 [22] = "LKJIG5D14B9032FHAC867E"; + +say $A287298 [$_] // "Too hard to calculate" while <>; diff --git a/challenge-149/abigail/python/ch-2.py b/challenge-149/abigail/python/ch-2.py new file mode 100644 index 0000000000..68b490cfa4 --- /dev/null +++ b/challenge-149/abigail/python/ch-2.py @@ -0,0 +1,42 @@ +#!/usr/local/bin/python3 + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 +# + +# +# Run as: python ch-2.py < input-file +# + +A287298 = {} + +A287298 [ 2] = "1" +A287298 [ 3] = "1" +A287298 [ 4] = "3201" +A287298 [ 5] = "4301" +A287298 [ 6] = "452013" +A287298 [ 7] = "6250341" +A287298 [ 8] = "47302651" +A287298 [ 9] = "823146570" +A287298 [10] = "9814072356" +A287298 [11] = "A8701245369" +A287298 [12] = "B8750A649321" +A287298 [13] = "CBA504216873" +A287298 [14] = "DC71B30685A924" +A287298 [15] = "EDAC93B24658701" +A287298 [16] = "FED5B39A42706C81" +A287298 [17] = "GFED5A31C6B79802" +A287298 [18] = "HGF80ADC53712EB649" +A287298 [19] = "IHGFD3408C6E715A2B9" +A287298 [20] = "JIHG03DAC457BFE96281" +A287298 [22] = "LKJIG5D14B9032FHAC867E" + + +import fileinput + +for n in fileinput . input (): + n = int (n) + if n in A287298: + print (A287298 [n]) + else: + print ("Too hard to calculate") diff --git a/challenge-149/abigail/r/ch-2.r b/challenge-149/abigail/r/ch-2.r new file mode 100644 index 0000000000..4d215adb1f --- /dev/null +++ b/challenge-149/abigail/r/ch-2.r @@ -0,0 +1,47 @@ +#!/usr/local/bin/Rscript + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 +# + +# +# Run as: Rscript ch-2.r < input-file +# + +A287298 <- c () + +A287298 [[ 2]] <- "1" +A287298 [[ 3]] <- "1" +A287298 [[ 4]] <- "3201" +A287298 [[ 5]] <- "4301" +A287298 [[ 6]] <- "452013" +A287298 [[ 7]] <- "6250341" +A287298 [[ 8]] <- "47302651" +A287298 [[ 9]] <- "823146570" +A287298 [[10]] <- "9814072356" +A287298 [[11]] <- "A8701245369" +A287298 [[12]] <- "B8750A649321" +A287298 [[13]] <- "CBA504216873" +A287298 [[14]] <- "DC71B30685A924" +A287298 [[15]] <- "EDAC93B24658701" +A287298 [[16]] <- "FED5B39A42706C81" +A287298 [[17]] <- "GFED5A31C6B79802" +A287298 [[18]] <- "HGF80ADC53712EB649" +A287298 [[19]] <- "IHGFD3408C6E715A2B9" +A287298 [[20]] <- "JIHG03DAC457BFE96281" +A287298 [[22]] <- "LKJIG5D14B9032FHAC867E" + +stdin <- file ('stdin', 'r') +repeat { + n <- readLines (stdin, n = 1) + if (length (n) == 0) { + break + } + n = as.integer (n) + if (n > 22 || is.null (A287298 [[n]])) { + cat ("Too hard to calculate\n") + } + else { + cat (A287298 [[n]], "\n") + } +} diff --git a/challenge-149/abigail/ruby/ch-2.rb b/challenge-149/abigail/ruby/ch-2.rb new file mode 100644 index 0000000000..b35039f880 --- /dev/null +++ b/challenge-149/abigail/ruby/ch-2.rb @@ -0,0 +1,36 @@ +#!/usr/bin/ruby + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 +# + +# +# Run as: ruby ch-2.rb < input-file +# + +A287298 = [] + +A287298[ 2] = "1" +A287298[ 3] = "1" +A287298[ 4] = "3201" +A287298[ 5] = "4301" +A287298[ 6] = "452013" +A287298[ 7] = "6250341" +A287298[ 8] = "47302651" +A287298[ 9] = "823146570" +A287298[10] = "9814072356" +A287298[11] = "A8701245369" +A287298[12] = "B8750A649321" +A287298[13] = "CBA504216873" +A287298[14] = "DC71B30685A924" +A287298[15] = "EDAC93B24658701" +A287298[16] = "FED5B39A42706C81" +A287298[17] = "GFED5A31C6B79802" +A287298[18] = "HGF80ADC53712EB649" +A287298[19] = "IHGFD3408C6E715A2B9" +A287298[20] = "JIHG03DAC457BFE96281" +A287298[22] = "LKJIG5D14B9032FHAC867E" + +ARGF . each_line do |n| + puts (A287298[n . to_i] || "Too hard to calculate") +end diff --git a/challenge-149/abigail/scheme/ch-2.scm b/challenge-149/abigail/scheme/ch-2.scm new file mode 100644 index 0000000000..34c3ff0e70 --- /dev/null +++ b/challenge-149/abigail/scheme/ch-2.scm @@ -0,0 +1,56 @@ +#!/usr/local/bin/guile +!# + +;;; +;;; See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 +;;; + +;;; +;;; Run as: guile --no-auto-compile ch-2.scm < input-file +;;; + +(use-modules (ice-9 rdelim)) + +(define A287298 '()) + +(set! A287298 (append A287298 (list ""))) +(set! A287298 (append A287298 (list ""))) +(set! A287298 (append A287298 (list "1"))) +(set! A287298 (append A287298 (list "1"))) +(set! A287298 (append A287298 (list "3201"))) +(set! A287298 (append A287298 (list "4301"))) +(set! A287298 (append A287298 (list "452013"))) +(set! A287298 (append A287298 (list "6250341"))) +(set! A287298 (append A287298 (list "47302651"))) +(set! A287298 (append A287298 (list "823146570"))) +(set! A287298 (append A287298 (list "9814072356"))) +(set! A287298 (append A287298 (list "A8701245369"))) +(set! A287298 (append A287298 (list "B8750A649321"))) +(set! A287298 (append A287298 (list "CBA504216873"))) +(set! A287298 (append A287298 (list "DC71B30685A924"))) +(set! A287298 (append A287298 (list "EDAC93B24658701"))) +(set! A287298 (append A287298 (list "FED5B39A42706C81"))) +(set! A287298 (append A287298 (list "GFED5A31C6B79802"))) +(set! A287298 (append A287298 (list "HGF80ADC53712EB649"))) +(set! A287298 (append A287298 (list "IHGFD3408C6E715A2B9"))) +(set! A287298 (append A287298 (list "JIHG03DAC457BFE96281"))) +(set! A287298 (append A287298 (list ""))) +(set! A287298 (append A287298 (list "LKJIG5D14B9032FHAC867E"))) + +(define (main) + (define line (read-line)) + (define n) + (if (not (eof-object? line)) + (begin + (set! n (string->number line)) + (display (cond ((> n 22) "Too hard to calculate") + ((string-null? (list-ref A287298 n)) + "Too hard to calculate") + (else (list-ref A287298 n)))) + (newline) + (main) + ) + ) +) + +(main) diff --git a/challenge-149/abigail/tcl/ch-2.tcl b/challenge-149/abigail/tcl/ch-2.tcl new file mode 100644 index 0000000000..1feaff5c00 --- /dev/null +++ b/challenge-149/abigail/tcl/ch-2.tcl @@ -0,0 +1,43 @@ +#!/usr/local/opt/tcl-tk/bin/tclsh + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-149 +# + +# +# Run as: tclsh ch-2.tcl < input-file +# + +set A287298 list + +lset A287298 0 "" +lset A287298 1 "" +lset A287298 2 "1" +lset A287298 3 "1" +lset A287298 4 "3201" +lset A287298 5 "4301" +lset A287298 6 "452013" +lset A287298 7 "6250341" +lset A287298 8 "47302651" +lset A287298 9 "823146570" +lset A287298 10 "9814072356" +lset A287298 11 "A8701245369" +lset A287298 12 "B8750A649321" +lset A287298 13 "CBA504216873" +lset A287298 14 "DC71B30685A924" +lset A287298 15 "EDAC93B24658701" +lset A287298 16 "FED5B39A42706C81" +lset A287298 17 "GFED5A31C6B79802" +lset A287298 18 "HGF80ADC53712EB649" +lset A287298 19 "IHGFD3408C6E715A2B9" +lset A287298 20 "JIHG03DAC457BFE96281" +lset A287298 21 "" +lset A287298 22 "LKJIG5D14B9032FHAC867E" + +while {[gets stdin n] >= 0} { + if {[string length [lindex $A287298 $n]] > 0} { + puts [lindex $A287298 $n] + } else { + puts "Too hard to calculate" + } +} |
