From ea5ccfbdc9b172b7e0f2aa41163d16818842ec65 Mon Sep 17 00:00:00 2001 From: Abigail Date: Mon, 11 Oct 2021 17:23:30 +0200 Subject: Perl solutions for week 134 --- challenge-134/abigail/README.md | 1 - challenge-134/abigail/perl/ch-1.pl | 36 +++++++++++++++++++++++++++++ challenge-134/abigail/perl/ch-2.pl | 46 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 challenge-134/abigail/perl/ch-1.pl create mode 100644 challenge-134/abigail/perl/ch-2.pl diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index d51d3d73e2..aa835b7f1e 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -6,5 +6,4 @@ ## Part 2 -* [C](c/ch-2.c) * [Perl](perl/ch-2.pl) diff --git a/challenge-134/abigail/perl/ch-1.pl b/challenge-134/abigail/perl/ch-1.pl new file mode 100644 index 0000000000..b04f5958bb --- /dev/null +++ b/challenge-134/abigail/perl/ch-1.pl @@ -0,0 +1,36 @@ +#!/opt/perl/bin/perl + +use 5.032; + +use strict; +use warnings; +no warnings 'syntax'; + +use experimental 'signatures'; +use experimental 'lexical_subs'; + +# +# See ../README.md +# + +# +# Run as: perl ch-1.pl +# + +# +# The first 40320 (= 8!) pandigital numbers in base 10 are 10 digits long, +# all starting with '10'. The other 8 digits are all the permutations of +# of the digits 2 .. 8. +# +# So, to generate the first 5 of them, we start with the first one, +# 1023456789, chop of the last three digits (7, 8, 9), get all the +# 6 (= 3!) permutations, sort them, throw away the last, and put them +# after the first six digits. +# + +# +# 6 permutations, we can easily do by hand. That's quicker then searching +# on CPAN for a module which does the work for us. +# + +say "1023456$_" for qw [789 798 879 897 978]; diff --git a/challenge-134/abigail/perl/ch-2.pl b/challenge-134/abigail/perl/ch-2.pl new file mode 100644 index 0000000000..3911a034ba --- /dev/null +++ b/challenge-134/abigail/perl/ch-2.pl @@ -0,0 +1,46 @@ +#!/opt/perl/bin/perl + +use 5.032; + +use strict; +use warnings; +no warnings 'syntax'; + +use experimental 'signatures'; +use experimental 'lexical_subs'; + +# +# See ../README.md +# + +# +# Run as: perl ch-2.pl < input-file +# + +# +# It's not clear what actually needs to be outputted here. +# The challenges asks to generate a multiplication table, but to +# display a count. But the output of the examples shows a table, +# a list of distinct numbers, and a count of said list. +# +# It's often that the challenge it totally unclear where the +# boundary is between "this is output we expect", and "this is us +# explaining how to get that output". +# +# So, we will just display a count, as that is what is asked for us. +# Wnat more? Spend a few more seconds on writing the challenge. +# + +# +# We'll just multiply all the numbers 1 <= $x <= $n with all the numbers +# 1 <= $y <= $m, stick them in a hash, and display the number of different +# keys in the resulting hash. +# + +while (<>) { + ($~, $=) = split; + %~ = map {$; = $_; map {$; * $_ => 1} 1 .. $~} 1 .. $=; + say ~~%~; +} + +__END__ -- cgit From 9143bfaf1b39e092462e1a774bc7274029cad25e Mon Sep 17 00:00:00 2001 From: Abigail Date: Mon, 11 Oct 2021 17:31:50 +0200 Subject: Test cases for week 134 --- challenge-134/abigail/t/ctest.ini | 11 +++++++++++ challenge-134/abigail/t/input-1-1 | 0 challenge-134/abigail/t/input-2-1 | 2 ++ challenge-134/abigail/t/output-1-1.exp | 5 +++++ challenge-134/abigail/t/output-2-1.exp | 2 ++ 5 files changed, 20 insertions(+) create mode 100644 challenge-134/abigail/t/ctest.ini create mode 100644 challenge-134/abigail/t/input-1-1 create mode 100644 challenge-134/abigail/t/input-2-1 create mode 100644 challenge-134/abigail/t/output-1-1.exp create mode 100644 challenge-134/abigail/t/output-2-1.exp diff --git a/challenge-134/abigail/t/ctest.ini b/challenge-134/abigail/t/ctest.ini new file mode 100644 index 0000000000..3c7da6ddae --- /dev/null +++ b/challenge-134/abigail/t/ctest.ini @@ -0,0 +1,11 @@ +# +# Configuration file for running tests, using ctest. +# See https://github.com/Abigail/Misc/blob/master/ctest +# + +[names] +1-1 = Fixed output +2-1 = Given examples + +[1-1] +no_input = 1 diff --git a/challenge-134/abigail/t/input-1-1 b/challenge-134/abigail/t/input-1-1 new file mode 100644 index 0000000000..e69de29bb2 diff --git a/challenge-134/abigail/t/input-2-1 b/challenge-134/abigail/t/input-2-1 new file mode 100644 index 0000000000..9b6983dd10 --- /dev/null +++ b/challenge-134/abigail/t/input-2-1 @@ -0,0 +1,2 @@ +3 3 +3 5 diff --git a/challenge-134/abigail/t/output-1-1.exp b/challenge-134/abigail/t/output-1-1.exp new file mode 100644 index 0000000000..abd21b85ff --- /dev/null +++ b/challenge-134/abigail/t/output-1-1.exp @@ -0,0 +1,5 @@ +1023456789 +1023456798 +1023456879 +1023456897 +1023456978 diff --git a/challenge-134/abigail/t/output-2-1.exp b/challenge-134/abigail/t/output-2-1.exp new file mode 100644 index 0000000000..3261212ac0 --- /dev/null +++ b/challenge-134/abigail/t/output-2-1.exp @@ -0,0 +1,2 @@ +6 +11 -- cgit From 06e1034f0e5868cbfcea3d9fddd5ab3bfa982882 Mon Sep 17 00:00:00 2001 From: Abigail Date: Mon, 11 Oct 2021 17:33:06 +0200 Subject: AWK solutions for week 134 --- challenge-134/abigail/README.md | 2 ++ challenge-134/abigail/awk/ch-1.awk | 16 ++++++++++++++++ challenge-134/abigail/awk/ch-2.awk | 23 +++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 challenge-134/abigail/awk/ch-1.awk create mode 100644 challenge-134/abigail/awk/ch-2.awk diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index aa835b7f1e..f545b41dde 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -2,8 +2,10 @@ ## Part 1 +* [AWK](awk/ch-1.awk) * [Perl](perl/ch-1.pl) ## Part 2 +* [AWK](awk/ch-2.awk) * [Perl](perl/ch-2.pl) diff --git a/challenge-134/abigail/awk/ch-1.awk b/challenge-134/abigail/awk/ch-1.awk new file mode 100644 index 0000000000..e1bb7f9695 --- /dev/null +++ b/challenge-134/abigail/awk/ch-1.awk @@ -0,0 +1,16 @@ +#!/usr/bin/awk + +# +# See ../README.md +# + +# +# Run as: awk -f ch-1.awk +# + +BEGIN { + split ("789 798 879 897 978", a, " ") + for (i = 1; i <= 5; i ++) { + print "1023456" a [i] + } +} diff --git a/challenge-134/abigail/awk/ch-2.awk b/challenge-134/abigail/awk/ch-2.awk new file mode 100644 index 0000000000..fa2f6a5397 --- /dev/null +++ b/challenge-134/abigail/awk/ch-2.awk @@ -0,0 +1,23 @@ +#!/usr/bin/awk + +# +# See ../README.md +# + +# +# Run as: awk -f ch-2.awk < input-file +# + +{ + delete a + for (i = 1; i <= $1; i ++) { + for (j = 1; j <= $2; j ++) { + a [i * j] = 1 + } + } + c = 0 + for (i in a) { + c ++ + } + print c +} -- cgit From cae766f9713dd38d70eb30133645129c10ddeabe Mon Sep 17 00:00:00 2001 From: Abigail Date: Mon, 11 Oct 2021 18:09:05 +0200 Subject: C solutions for week 134 --- challenge-134/abigail/README.md | 4 ++++ challenge-134/abigail/c/ch-1.c | 22 ++++++++++++++++++ challenge-134/abigail/c/ch-2.c | 51 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 challenge-134/abigail/c/ch-1.c create mode 100644 challenge-134/abigail/c/ch-2.c diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index f545b41dde..1d9f6de66b 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -3,9 +3,13 @@ ## Part 1 * [AWK](awk/ch-1.awk) +* [Bash](bash/ch-1.sh) +* [C](c/ch-1.c) * [Perl](perl/ch-1.pl) ## Part 2 * [AWK](awk/ch-2.awk) +* [Bash](bash/ch-1.sh) +* [C](c/ch-1.c) * [Perl](perl/ch-2.pl) diff --git a/challenge-134/abigail/c/ch-1.c b/challenge-134/abigail/c/ch-1.c new file mode 100644 index 0000000000..d65af1ef32 --- /dev/null +++ b/challenge-134/abigail/c/ch-1.c @@ -0,0 +1,22 @@ +# include +# include +# include + +/* + * See ../README.md + */ + +/* + * Run as: cc -o ch-1.o ch-1.c; ./ch-1.o + */ + +# define SIZE 5 + +short tail [] = {789, 798, 879, 897, 978}; + +int main (void) { + for (size_t i = 0; i < SIZE; i ++) { + printf ("1023456%d\n", tail [i]); + } + return (0); +} diff --git a/challenge-134/abigail/c/ch-2.c b/challenge-134/abigail/c/ch-2.c new file mode 100644 index 0000000000..523dc497e6 --- /dev/null +++ b/challenge-134/abigail/c/ch-2.c @@ -0,0 +1,51 @@ +# include +# include +# include +# include + +/* + * See ../README.md + */ + +/* + * Run as: cc -o ch-2.o ch-2.c; ./ch-2.o < input-file + */ + +int main (void) { + int n, m; + char * buffer; + + while (scanf ("%d%d", &n, &m) == 2) { + int size = 1 + m * n / CHAR_BIT; + /* + * Allocate memory for our buffer + */ + if ((buffer = (char *) malloc (size * sizeof (char))) == NULL) { + perror ("Failed to malloc buffer"); + exit (1); + } + /* + * Set all the bits to 0 + */ + for (int i = 0; i < size; i ++) { + buffer [i] = (char) 0; + } + + int count = 0; /* Count the number of different products */ + + for (int i = 1; i <= m; i ++) { + for (int j = 1; j <= n; j ++) { + int index = (i * j) / CHAR_BIT; + int bit = (i * j) % CHAR_BIT; + if ((buffer [index] & (1 << bit)) == 0) { + count ++; + buffer [index] |= (1 << bit); + } + } + } + printf ("%d\n", count); + free (buffer); + } + + return (0); +} -- cgit From 874af3a6d96f7e0dbaf78a68d40c0cccd20ea54a Mon Sep 17 00:00:00 2001 From: Abigail Date: Mon, 11 Oct 2021 18:17:13 +0200 Subject: Befunge-93 solution for week 134, part 1 --- challenge-134/abigail/README.md | 1 + challenge-134/abigail/befunge-93/ch-1.bf93 | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 challenge-134/abigail/befunge-93/ch-1.bf93 diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index 1d9f6de66b..e3b1b50bb8 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -4,6 +4,7 @@ * [AWK](awk/ch-1.awk) * [Bash](bash/ch-1.sh) +* [Befunge-93](befunge-93/ch-1.bf93) * [C](c/ch-1.c) * [Perl](perl/ch-1.pl) diff --git a/challenge-134/abigail/befunge-93/ch-1.bf93 b/challenge-134/abigail/befunge-93/ch-1.bf93 new file mode 100644 index 0000000000..2c9d7905a7 --- /dev/null +++ b/challenge-134/abigail/befunge-93/ch-1.bf93 @@ -0,0 +1,5 @@ +55+ "9876543201" ,,,,,,,,,,, v +55+ "8976543201" ,,,,,,,,,,, v> +55+ "9786543201" ,,,,,,,,,,, v> +55+ "7986543201" ,,,,,,,,,,, v> +55+ "8796543201" ,,,,,,,,,,,@> -- cgit From 7b588190ce06fe1e6da77799b1f8853db027ef99 Mon Sep 17 00:00:00 2001 From: Abigail Date: Tue, 12 Oct 2021 11:12:15 +0200 Subject: Bash solutions for week 134 --- challenge-134/abigail/bash/ch-1.sh | 11 +++++++++++ challenge-134/abigail/bash/ch-2.sh | 23 +++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 challenge-134/abigail/bash/ch-1.sh create mode 100644 challenge-134/abigail/bash/ch-2.sh diff --git a/challenge-134/abigail/bash/ch-1.sh b/challenge-134/abigail/bash/ch-1.sh new file mode 100644 index 0000000000..3520ce0f68 --- /dev/null +++ b/challenge-134/abigail/bash/ch-1.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +# +# See ../README.md +# + +# +# Run as: bash ch-1.sh +# + +for n in 789 798 879 897 978; do echo 1023456$n; done diff --git a/challenge-134/abigail/bash/ch-2.sh b/challenge-134/abigail/bash/ch-2.sh new file mode 100644 index 0000000000..466b8d5586 --- /dev/null +++ b/challenge-134/abigail/bash/ch-2.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +# +# See ../README.md +# + +# +# Run as: bash ch-2.sh < input-file +# + +set -f + +declare -A seen + +while read n m +do seen=() + for ((i = 1; i <= n; i ++)) + do for ((j = 1; j <= m; j ++)) + do seen[$((i * j))]=1 + done + done + echo ${#seen[@]} +done -- cgit From 0ed96034b49aa270842285d4170d2893641a2bfa Mon Sep 17 00:00:00 2001 From: Abigail Date: Tue, 12 Oct 2021 11:23:54 +0200 Subject: Lua solutions for week 134 --- challenge-134/abigail/README.md | 6 ++++-- challenge-134/abigail/lua/ch-1.lua | 13 +++++++++++++ challenge-134/abigail/lua/ch-2.lua | 24 ++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 challenge-134/abigail/lua/ch-1.lua create mode 100644 challenge-134/abigail/lua/ch-2.lua diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index e3b1b50bb8..3ea3d1e459 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -6,11 +6,13 @@ * [Bash](bash/ch-1.sh) * [Befunge-93](befunge-93/ch-1.bf93) * [C](c/ch-1.c) +* [Lua](lua/ch-1.lua) * [Perl](perl/ch-1.pl) ## Part 2 * [AWK](awk/ch-2.awk) -* [Bash](bash/ch-1.sh) -* [C](c/ch-1.c) +* [Bash](bash/ch-2.sh) +* [C](c/ch-2.c) +* [Lua](lua/ch-2.lua) * [Perl](perl/ch-2.pl) diff --git a/challenge-134/abigail/lua/ch-1.lua b/challenge-134/abigail/lua/ch-1.lua new file mode 100644 index 0000000000..1b0d219dce --- /dev/null +++ b/challenge-134/abigail/lua/ch-1.lua @@ -0,0 +1,13 @@ +#!/opt/local/bin/lua + +-- +-- See ../README.md +-- + +-- +-- Run as: lua ch-1.lua +-- + +for _, tail in ipairs ({789, 798, 879, 897, 978}) do + print (1023456000 + tail) +end diff --git a/challenge-134/abigail/lua/ch-2.lua b/challenge-134/abigail/lua/ch-2.lua new file mode 100644 index 0000000000..4ea5926b60 --- /dev/null +++ b/challenge-134/abigail/lua/ch-2.lua @@ -0,0 +1,24 @@ +#!/opt/local/bin/lua + +-- +-- See ../README.md +-- + +-- +-- Run as: lua ch-2.lua < input-file +-- + +for line in io . lines () do + local _, _, m, n = line : find ("([0-9]+)%s+([0-9]+)") + local seen = {} + local count = 0 + for x = 1, m do + for y = 1, n do + if seen [x * y] == nil then + seen [x * y] = 1 + count = count + 1 + end + end + end + print (count) +end -- cgit From 62f97af917432bd79b6ccb2303c349370bbc2bbe Mon Sep 17 00:00:00 2001 From: Abigail Date: Tue, 12 Oct 2021 15:44:00 +0200 Subject: Node.js solutions for week 134 --- challenge-134/abigail/README.md | 2 ++ challenge-134/abigail/node/ch-1.js | 11 +++++++++++ challenge-134/abigail/node/ch-2.js | 22 ++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 challenge-134/abigail/node/ch-1.js create mode 100644 challenge-134/abigail/node/ch-2.js diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index 3ea3d1e459..bb9b3f9d42 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -7,6 +7,7 @@ * [Befunge-93](befunge-93/ch-1.bf93) * [C](c/ch-1.c) * [Lua](lua/ch-1.lua) +* [Node.js](node/ch-1.js) * [Perl](perl/ch-1.pl) ## Part 2 @@ -15,4 +16,5 @@ * [Bash](bash/ch-2.sh) * [C](c/ch-2.c) * [Lua](lua/ch-2.lua) +* [Node.js](node/ch-2.js) * [Perl](perl/ch-2.pl) diff --git a/challenge-134/abigail/node/ch-1.js b/challenge-134/abigail/node/ch-1.js new file mode 100644 index 0000000000..b58aafa82f --- /dev/null +++ b/challenge-134/abigail/node/ch-1.js @@ -0,0 +1,11 @@ +#!/usr/local/bin/node + +// +// See ../README.md +// + +// +// Run as: node ch-1.js +// + +[789, 798, 879, 897, 978] . forEach (t => console . log ("1023456" + t)) diff --git a/challenge-134/abigail/node/ch-2.js b/challenge-134/abigail/node/ch-2.js new file mode 100644 index 0000000000..ae1d561c97 --- /dev/null +++ b/challenge-134/abigail/node/ch-2.js @@ -0,0 +1,22 @@ +#!/usr/local/bin/node + +// +// See ../README.md +// + +// +// Run as: node ch-2.js < input-file +// + + require ('readline') +. createInterface ({input: process . stdin}) +. on ('line', line => { + let [n, m] = line . trim () . split (" ") . map (x => +x) + let seen = {} + for (let i = 1; i <= n; i ++) { + for (let j = 1; j <= m; j ++) { + seen [i * j] = 1 + } + } + console . log (Object . keys (seen) . length) +}) -- cgit From 7da022d939fc8a851dd06b99ea4394fb87f75c00 Mon Sep 17 00:00:00 2001 From: Abigail Date: Tue, 12 Oct 2021 15:55:04 +0200 Subject: Python solutions for week 134 --- challenge-134/abigail/README.md | 2 ++ challenge-134/abigail/python/ch-1.py | 11 +++++++++++ challenge-134/abigail/python/ch-2.py | 19 +++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 challenge-134/abigail/python/ch-1.py create mode 100644 challenge-134/abigail/python/ch-2.py diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index bb9b3f9d42..c8f2887c6d 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -9,6 +9,7 @@ * [Lua](lua/ch-1.lua) * [Node.js](node/ch-1.js) * [Perl](perl/ch-1.pl) +* [Python](python/ch-1.py) ## Part 2 @@ -18,3 +19,4 @@ * [Lua](lua/ch-2.lua) * [Node.js](node/ch-2.js) * [Perl](perl/ch-2.pl) +* [Python](python/ch-2.py) diff --git a/challenge-134/abigail/python/ch-1.py b/challenge-134/abigail/python/ch-1.py new file mode 100644 index 0000000000..74f9f35566 --- /dev/null +++ b/challenge-134/abigail/python/ch-1.py @@ -0,0 +1,11 @@ +#!/opt/local/bin/python + +# +# See ../README.md +# + +# +# Run as: python ch-1.py +# + +for t in [789, 798, 879, 897, 978]: print (1023456000 + t) diff --git a/challenge-134/abigail/python/ch-2.py b/challenge-134/abigail/python/ch-2.py new file mode 100644 index 0000000000..4f07debc11 --- /dev/null +++ b/challenge-134/abigail/python/ch-2.py @@ -0,0 +1,19 @@ +#!/opt/local/bin/python + +# +# See ../README.md +# + +# +# Run as: python ch-2.py < input-file +# + +import fileinput + +for line in fileinput . input (): + [n, m] = line . split () + seen = {} + for i in range (int (n)): # 0 .. (n - 1) + for j in range (int (m)): # 0 .. (m - 1) + seen [(i + 1) * (j + 1)] = 1 + print (len (seen)) -- cgit From 33819bebf28fc8ac058118c558b15fb4a1f005e1 Mon Sep 17 00:00:00 2001 From: Abigail Date: Tue, 12 Oct 2021 16:23:13 +0200 Subject: Ruby solutions for week 134 --- challenge-134/abigail/README.md | 2 ++ challenge-134/abigail/ruby/ch-1.rb | 11 +++++++++++ challenge-134/abigail/ruby/ch-2.rb | 21 +++++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 challenge-134/abigail/ruby/ch-1.rb create mode 100644 challenge-134/abigail/ruby/ch-2.rb diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index c8f2887c6d..b96391bff6 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -10,6 +10,7 @@ * [Node.js](node/ch-1.js) * [Perl](perl/ch-1.pl) * [Python](python/ch-1.py) +* [Ruby](ruby/ch-1.py) ## Part 2 @@ -20,3 +21,4 @@ * [Node.js](node/ch-2.js) * [Perl](perl/ch-2.pl) * [Python](python/ch-2.py) +* [Ruby](ruby/ch-2.py) diff --git a/challenge-134/abigail/ruby/ch-1.rb b/challenge-134/abigail/ruby/ch-1.rb new file mode 100644 index 0000000000..3e292b12ae --- /dev/null +++ b/challenge-134/abigail/ruby/ch-1.rb @@ -0,0 +1,11 @@ +#!/usr/bin/ruby + +# +# See ../README.md +# + +# +# Run as: ruby ch-1.rb +# + +[789, 798, 879, 897, 978] . each {|t| puts (1023456000 + t)} diff --git a/challenge-134/abigail/ruby/ch-2.rb b/challenge-134/abigail/ruby/ch-2.rb new file mode 100644 index 0000000000..17c9d79acf --- /dev/null +++ b/challenge-134/abigail/ruby/ch-2.rb @@ -0,0 +1,21 @@ +#!/usr/bin/ruby + +# +# See ../README.md +# + +# +# Run as: ruby ch-2.rb < input-file +# + +ARGF . each_line do + |line| + n, m = line . split + seen = {} + for i in 1 .. n . to_i do + for j in 1 .. m . to_i do + seen [i * j] = 1 + end + end + puts (seen . size) +end -- cgit From a171f3059aa3db3326db24f173e4e1b160be87de Mon Sep 17 00:00:00 2001 From: Abigail Date: Tue, 12 Oct 2021 17:12:44 +0200 Subject: m4 solution for week 134 --- challenge-134/abigail/README.md | 1 + challenge-134/abigail/m4/ch-1.m4 | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 challenge-134/abigail/m4/ch-1.m4 diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index b96391bff6..675aa2f6b7 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -7,6 +7,7 @@ * [Befunge-93](befunge-93/ch-1.bf93) * [C](c/ch-1.c) * [Lua](lua/ch-1.lua) +* [m4](m4/ch-1.m4) * [Node.js](node/ch-1.js) * [Perl](perl/ch-1.pl) * [Python](python/ch-1.py) diff --git a/challenge-134/abigail/m4/ch-1.m4 b/challenge-134/abigail/m4/ch-1.m4 new file mode 100644 index 0000000000..35bb86b814 --- /dev/null +++ b/challenge-134/abigail/m4/ch-1.m4 @@ -0,0 +1,25 @@ +define(`com')dnl +com()dnl +com(`Macros to simulate an array. First macros fetches a value')dnl +com(`while the second macro sets a value.')dnl +com()dnl +define(`tail',`defn(format(``tail[%d]'',`$1'))')dnl +define(`tail_set',`define(format(``tail[%d]'',`$1'),`1023456$2')')dnl +com()dnl +com(`Load the "tail" array with values')dnl +com()dnl +tail_set(`5',`789')dnl +tail_set(`4',`798')dnl +tail_set(`3',`879')dnl +tail_set(`2',`897')dnl +tail_set(`1',`978')dnl +com()dnl +com(`Recursive macro to print the results from the given value')dnl +com(`down to "1". Better call it with a positive integer value')dnl +com()dnl +define(`run',`tail($1) +ifelse($1,1,,`run(eval($1-1))')')dnl +com()dnl +com(`We want five values')dnl +com()dnl +run(5)dnl -- cgit From ad9c920abe69d0b2d3f83002c311896573cf8339 Mon Sep 17 00:00:00 2001 From: Abigail Date: Tue, 12 Oct 2021 18:11:53 +0200 Subject: Go solutions for week 134 --- challenge-134/abigail/README.md | 2 ++ challenge-134/abigail/go/ch-1.go | 19 +++++++++++++++++++ challenge-134/abigail/go/ch-2.go | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 challenge-134/abigail/go/ch-1.go create mode 100644 challenge-134/abigail/go/ch-2.go diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index 675aa2f6b7..8744317a44 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -6,6 +6,7 @@ * [Bash](bash/ch-1.sh) * [Befunge-93](befunge-93/ch-1.bf93) * [C](c/ch-1.c) +* [Go](go/ch-1.go) * [Lua](lua/ch-1.lua) * [m4](m4/ch-1.m4) * [Node.js](node/ch-1.js) @@ -18,6 +19,7 @@ * [AWK](awk/ch-2.awk) * [Bash](bash/ch-2.sh) * [C](c/ch-2.c) +* [Go](go/ch-2.go) * [Lua](lua/ch-2.lua) * [Node.js](node/ch-2.js) * [Perl](perl/ch-2.pl) diff --git a/challenge-134/abigail/go/ch-1.go b/challenge-134/abigail/go/ch-1.go new file mode 100644 index 0000000000..e83f7089bf --- /dev/null +++ b/challenge-134/abigail/go/ch-1.go @@ -0,0 +1,19 @@ +package main + +// +// See ../README.md +// + +// +// Run as: go run ch-1.go +// + +import ( + "fmt" +) + +func main () { + for _, t := range [] int {789, 798, 879, 897, 978} { + fmt . Printf ("1023456%d\n", t) + } +} diff --git a/challenge-134/abigail/go/ch-2.go b/challenge-134/abigail/go/ch-2.go new file mode 100644 index 0000000000..0d6dd810cc --- /dev/null +++ b/challenge-134/abigail/go/ch-2.go @@ -0,0 +1,34 @@ +package main + +// +// See ../README.md +// + +// +// Run as: go run ch-2.go < input-file +// + +import ( + "fmt" +) + +func main () { + for { + var n, m int + c, err := fmt . Scanf ("%d %d", &n, &m); + if (c != 2 || err != nil) { + break; + } + count := 0 + seen := map [int] bool { } + for i := 1; i <= n; i ++ { + for j := 1; j <= m; j ++ { + if _, ok := seen [i * j]; !ok { + count ++; + seen [i * j] = true; + } + } + } + fmt . Printf ("%d\n", count); + } +} -- cgit From 2ba1944044994f98155f20da0f14aa8b2d9a5dd9 Mon Sep 17 00:00:00 2001 From: Abigail Date: Tue, 12 Oct 2021 19:40:16 +0200 Subject: Java solutions for week 134 --- challenge-134/abigail/README.md | 2 ++ challenge-134/abigail/java/ch-1.java | 18 +++++++++++++++++ challenge-134/abigail/java/ch-2.java | 38 ++++++++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 challenge-134/abigail/java/ch-1.java create mode 100644 challenge-134/abigail/java/ch-2.java diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index 8744317a44..5642dc3187 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -7,6 +7,7 @@ * [Befunge-93](befunge-93/ch-1.bf93) * [C](c/ch-1.c) * [Go](go/ch-1.go) +* [Java](java/ch-1.java) * [Lua](lua/ch-1.lua) * [m4](m4/ch-1.m4) * [Node.js](node/ch-1.js) @@ -20,6 +21,7 @@ * [Bash](bash/ch-2.sh) * [C](c/ch-2.c) * [Go](go/ch-2.go) +* [Java](java/ch-2.java) * [Lua](lua/ch-2.lua) * [Node.js](node/ch-2.js) * [Perl](perl/ch-2.pl) diff --git a/challenge-134/abigail/java/ch-1.java b/challenge-134/abigail/java/ch-1.java new file mode 100644 index 0000000000..84baa6d18f --- /dev/null +++ b/challenge-134/abigail/java/ch-1.java @@ -0,0 +1,18 @@ +// +// See ../README.md +// + +// +// Run as: ln ch-1.java ch1.java; javac ch1.java; java ch1 +// + +import java.util.*; + +public class ch1 { + public static void main (String [] args) { + int [] tails = {789, 798, 879, 897, 978}; + for (int i: tails) { + System . out . println (1023456000 + i); + } + } +} diff --git a/challenge-134/abigail/java/ch-2.java b/challenge-134/abigail/java/ch-2.java new file mode 100644 index 0000000000..91ed32973e --- /dev/null +++ b/challenge-134/abigail/java/ch-2.java @@ -0,0 +1,38 @@ +// +// See ../README.md +// + +// +// Run as: ln ch-2.java ch2.java; javac ch2.java; java ch2 < input-file +// + +import java.util.*; +import java.util.Hashtable; +import java.util.Map; + +public class ch2 { + public static void main (String [] args) { + Scanner scanner = new Scanner (System . in); + try { + while (true) { + int n = scanner . nextInt (); + int m = scanner . nextInt (); + + Map seen = + new Hashtable (); + + for (int i = 1; i <= n; i ++) { + for (int j = 1; j <= m; j ++) { + seen . put (i * j, 1); + } + } + System . out . println (seen . size ()); + } + } + catch (Exception e) { + // + // EOF + // + } + } +} -- cgit From 55ef5170b12d97c33852518d6aae1531ec7e221e Mon Sep 17 00:00:00 2001 From: Abigail Date: Tue, 12 Oct 2021 20:05:55 +0200 Subject: bc solutions for week 134 --- challenge-134/abigail/README.md | 2 ++ challenge-134/abigail/bc/ch-1.bc | 12 ++++++++++++ challenge-134/abigail/bc/ch-2.bc | 25 +++++++++++++++++++++++++ challenge-134/abigail/t/ctest.ini | 3 +++ 4 files changed, 42 insertions(+) create mode 100644 challenge-134/abigail/bc/ch-1.bc create mode 100644 challenge-134/abigail/bc/ch-2.bc diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index 5642dc3187..836c8ef566 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -4,6 +4,7 @@ * [AWK](awk/ch-1.awk) * [Bash](bash/ch-1.sh) +* [bc](bc/ch-1.bc) * [Befunge-93](befunge-93/ch-1.bf93) * [C](c/ch-1.c) * [Go](go/ch-1.go) @@ -19,6 +20,7 @@ * [AWK](awk/ch-2.awk) * [Bash](bash/ch-2.sh) +* [bc](bc/ch-2.bc) * [C](c/ch-2.c) * [Go](go/ch-2.go) * [Java](java/ch-2.java) diff --git a/challenge-134/abigail/bc/ch-1.bc b/challenge-134/abigail/bc/ch-1.bc new file mode 100644 index 0000000000..435c743e1c --- /dev/null +++ b/challenge-134/abigail/bc/ch-1.bc @@ -0,0 +1,12 @@ +# +# See ../README.md +# + +# +# Run as: bc ch-1.bc +# +t[1] = 789; t[2] = 798; t[3] = 879; t[4] = 897; t[5] = 978 +for (i = 1; i <= 5; i ++) { + 1023456000 + t[i] +} +quit diff --git a/challenge-134/abigail/bc/ch-2.bc b/challenge-134/abigail/bc/ch-2.bc new file mode 100644 index 0000000000..a9ce05c2c4 --- /dev/null +++ b/challenge-134/abigail/bc/ch-2.bc @@ -0,0 +1,25 @@ +# +# See ../README.md +# + +# +# Run as: bc ch-2.bc < input-file +# + +while (1) { + m = read(); if (m == 0) break + n = read(); if (n == 0) break + for (i = 1; i <= m * n; i ++) { + s[i] = 0 + } + count = 0 + for (i = 1; i <= n; i ++) { + for (j = 1; j <= m; j ++) { + if (s[i * j] == 0) { + count = count + 1 + s[i * j] = 1 + } + } + } + count +} diff --git a/challenge-134/abigail/t/ctest.ini b/challenge-134/abigail/t/ctest.ini index 3c7da6ddae..448cbd1a24 100644 --- a/challenge-134/abigail/t/ctest.ini +++ b/challenge-134/abigail/t/ctest.ini @@ -9,3 +9,6 @@ [1-1] no_input = 1 + +[2-1/bc] +add_to_input = 0 -- cgit From 8f0be15d392803cdaa864a395c033abf6aa177dd Mon Sep 17 00:00:00 2001 From: Abigail Date: Wed, 13 Oct 2021 02:32:35 +0200 Subject: BASIC solution for week 134 --- challenge-134/abigail/README.md | 1 + challenge-134/abigail/basic/ch-1.bas | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 challenge-134/abigail/basic/ch-1.bas diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index 836c8ef566..7e426e1c10 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -4,6 +4,7 @@ * [AWK](awk/ch-1.awk) * [Bash](bash/ch-1.sh) +* [Basic](basic/ch-1.bas) * [bc](bc/ch-1.bc) * [Befunge-93](befunge-93/ch-1.bf93) * [C](c/ch-1.c) diff --git a/challenge-134/abigail/basic/ch-1.bas b/challenge-134/abigail/basic/ch-1.bas new file mode 100644 index 0000000000..d548a47195 --- /dev/null +++ b/challenge-134/abigail/basic/ch-1.bas @@ -0,0 +1,18 @@ +010 REM +020 REM See ../README.md +030 REM + +040 REM +050 REM Run as: basic ch-1.bas +060 REM + +100 DIM T(5) +110 T (1) = 789 +120 T (2) = 798 +130 T (3) = 879 +140 T (4) = 897 +150 T (5) = 978 + +200 FOR i = 1 TO 5 +210 PRINT 1023456000 + T (i) +220 NEXT i -- cgit From 81fd095a431fccee85ca6fb37785ff4567e7de52 Mon Sep 17 00:00:00 2001 From: Abigail Date: Wed, 13 Oct 2021 14:45:57 +0200 Subject: Tcl solutions for week 134 --- challenge-134/abigail/README.md | 6 ++++-- challenge-134/abigail/tcl/ch-1.tcl | 13 +++++++++++++ challenge-134/abigail/tcl/ch-2.tcl | 19 +++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 challenge-134/abigail/tcl/ch-1.tcl create mode 100644 challenge-134/abigail/tcl/ch-2.tcl diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index 7e426e1c10..72ad1c8f12 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -15,7 +15,8 @@ * [Node.js](node/ch-1.js) * [Perl](perl/ch-1.pl) * [Python](python/ch-1.py) -* [Ruby](ruby/ch-1.py) +* [Ruby](ruby/ch-1.rb) +* [Tcl](tcl/ch-1.tcl) ## Part 2 @@ -29,4 +30,5 @@ * [Node.js](node/ch-2.js) * [Perl](perl/ch-2.pl) * [Python](python/ch-2.py) -* [Ruby](ruby/ch-2.py) +* [Ruby](ruby/ch-2.rb) +* [Tcl](tcl/ch-2.tcl) diff --git a/challenge-134/abigail/tcl/ch-1.tcl b/challenge-134/abigail/tcl/ch-1.tcl new file mode 100644 index 0000000000..c6986fe043 --- /dev/null +++ b/challenge-134/abigail/tcl/ch-1.tcl @@ -0,0 +1,13 @@ +# +# See ../README.md +# + +# +# Run as: tclsh ch-1.tcl +# + +array set tail {0 789 1 798 2 879 3 897 4 978} + +for {set i 0} {$i < [array size tail]} {incr i} { + puts "1023456$tail($i)" +} diff --git a/challenge-134/abigail/tcl/ch-2.tcl b/challenge-134/abigail/tcl/ch-2.tcl new file mode 100644 index 0000000000..534913afcd --- /dev/null +++ b/challenge-134/abigail/tcl/ch-2.tcl @@ -0,0 +1,19 @@ +# +# See ../README.md +# + +# +# Run as: tclsh ch-2.tcl < input-file +# + +while {[gets stdin line] >= 0} { + lassign [split $line " "] n m + array set seen { } + for {set i 1} {$i <= $n} {incr i} { + for {set j 1} {$j <= $m} {incr j} { + set p [expr $i * $j] + set seen($p) 1 + } + } + puts [array size seen] +} -- cgit From db527915f68dd2e3cb2948d56f9e458164af67de Mon Sep 17 00:00:00 2001 From: Abigail Date: Wed, 13 Oct 2021 16:00:39 +0200 Subject: Scheme solution for week 134 --- challenge-134/abigail/README.md | 2 ++ challenge-134/abigail/scheme/ch-1.scm | 14 ++++++++++++ challenge-134/abigail/scheme/ch-2.scm | 41 +++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 challenge-134/abigail/scheme/ch-1.scm create mode 100644 challenge-134/abigail/scheme/ch-2.scm diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index 72ad1c8f12..af093cceb0 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -16,6 +16,7 @@ * [Perl](perl/ch-1.pl) * [Python](python/ch-1.py) * [Ruby](ruby/ch-1.rb) +* [Scheme](scheme/ch-1.scm) * [Tcl](tcl/ch-1.tcl) ## Part 2 @@ -31,4 +32,5 @@ * [Perl](perl/ch-2.pl) * [Python](python/ch-2.py) * [Ruby](ruby/ch-2.rb) +* [Scheme](scheme/ch-2.scm) * [Tcl](tcl/ch-2.tcl) diff --git a/challenge-134/abigail/scheme/ch-1.scm b/challenge-134/abigail/scheme/ch-1.scm new file mode 100644 index 0000000000..bd23884d91 --- /dev/null +++ b/challenge-134/abigail/scheme/ch-1.scm @@ -0,0 +1,14 @@ +;;; +;;; See ../README.md +;;; + +;;; +;;; Run as: guile --no-auto-compile ch-1.scm +;;; + +(use-modules (ice-9 format)) + +(define t #@1(789 798 879 897 978)) +(do ((i 1 (1+ i))) + ((> i (array-length t))) + (format #t "1023456~d\n" (array-ref t i))) diff --git a/challenge-134/abigail/scheme/ch-2.scm b/challenge-134/abigail/scheme/ch-2.scm new file mode 100644 index 0000000000..25874c204a --- /dev/null +++ b/challenge-134/abigail/scheme/ch-2.scm @@ -0,0 +1,41 @@ +;;; +;;; See ../README.md +;;; + +;;; +;;; Run as: guile --no-auto-compile ch-2.scm < input-file +;;; + + +(define (main) + (define m (read)) + (define n (read)) + (define count 0) + (define seen #()) + (if (not (eof-object? m)) + (begin + (set! seen (make-array 0 (+ 1 (* m n)))) + (do ((i 1 (1+ i))) + ((> i n)) + (begin + (do ((j 1 (1+ j))) + ((> j m)) + (begin + (if (= (array-ref seen (* i j)) 0) + (begin + (array-set! seen 1 (* i j)) + (set! count (1+ count)) + ) + ) + ) + ) + ) + ) + (display count) + (newline) + (main) + ) + ) +) + +(main) -- cgit From a5afda49c3ec8936ff080bca14ce598552b2a5c7 Mon Sep 17 00:00:00 2001 From: Abigail Date: Wed, 13 Oct 2021 17:20:23 +0200 Subject: R solutions for week 134 --- challenge-134/abigail/README.md | 2 ++ challenge-134/abigail/r/ch-1.r | 11 +++++++++++ challenge-134/abigail/r/ch-2.r | 29 +++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 challenge-134/abigail/r/ch-1.r create mode 100644 challenge-134/abigail/r/ch-2.r diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index af093cceb0..54d7fd6307 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -15,6 +15,7 @@ * [Node.js](node/ch-1.js) * [Perl](perl/ch-1.pl) * [Python](python/ch-1.py) +* [R](r/ch-1.r) * [Ruby](ruby/ch-1.rb) * [Scheme](scheme/ch-1.scm) * [Tcl](tcl/ch-1.tcl) @@ -31,6 +32,7 @@ * [Node.js](node/ch-2.js) * [Perl](perl/ch-2.pl) * [Python](python/ch-2.py) +* [R](r/ch-2.r) * [Ruby](ruby/ch-2.rb) * [Scheme](scheme/ch-2.scm) * [Tcl](tcl/ch-2.tcl) diff --git a/challenge-134/abigail/r/ch-1.r b/challenge-134/abigail/r/ch-1.r new file mode 100644 index 0000000000..e58f54cbfd --- /dev/null +++ b/challenge-134/abigail/r/ch-1.r @@ -0,0 +1,11 @@ +# +# See ../README.md +# + +# +# Run as: Rscript ch-1.r +# + +t <- c (789, 798, 879, 897, 978) +t <- t + 1023456000 +cat (t, sep = "\n") diff --git a/challenge-134/abigail/r/ch-2.r b/challenge-134/abigail/r/ch-2.r new file mode 100644 index 0000000000..2e7c3e93e7 --- /dev/null +++ b/challenge-134/abigail/r/ch-2.r @@ -0,0 +1,29 @@ +# +# See ../README.md +# + +# +# Run as: Rscript ch-2.r < input-file +# + +stdin <- file ('stdin', 'r') +repeat { + line <- readLines (stdin, n = 1) + if (length (line) == 0) { + break + } + parts <- strsplit (line, " ") + + m <- as.numeric (parts [[1]] [[1]]) + n <- as.numeric (parts [[1]] [[2]]) + + seen <- replicate (m * n, 0) + + for (i in 1 : m) { + for (j in 1 : n) { + seen [[i * j]] <- 1 + } + } + + cat (sum (seen), "\n") +} -- cgit From fcb5472cede9b5bbdb0feae8e7af15089f24a53c Mon Sep 17 00:00:00 2001 From: Abigail Date: Wed, 13 Oct 2021 18:10:23 +0200 Subject: PHP solution for week 134 --- challenge-134/abigail/README.md | 1 + challenge-134/abigail/php/ch-1.php | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 challenge-134/abigail/php/ch-1.php diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index 54d7fd6307..c6304e4436 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -14,6 +14,7 @@ * [m4](m4/ch-1.m4) * [Node.js](node/ch-1.js) * [Perl](perl/ch-1.pl) +* [PHP](php/ch-1.php) * [Python](python/ch-1.py) * [R](r/ch-1.r) * [Ruby](ruby/ch-1.rb) diff --git a/challenge-134/abigail/php/ch-1.php b/challenge-134/abigail/php/ch-1.php new file mode 100644 index 0000000000..2df5731b91 --- /dev/null +++ b/challenge-134/abigail/php/ch-1.php @@ -0,0 +1,14 @@ + -- cgit From 0efa7000e94f1e96a2f1ee86e6db5454e1e98f96 Mon Sep 17 00:00:00 2001 From: Abigail Date: Wed, 13 Oct 2021 18:21:35 +0200 Subject: Pascal solution for week 134 --- challenge-134/abigail/README.md | 2 ++ challenge-134/abigail/pascal/ch-1.p | 19 +++++++++++++++++++ challenge-134/abigail/pascal/ch-2.p | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 challenge-134/abigail/pascal/ch-1.p create mode 100644 challenge-134/abigail/pascal/ch-2.p diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index c6304e4436..58fae311a4 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -13,6 +13,7 @@ * [Lua](lua/ch-1.lua) * [m4](m4/ch-1.m4) * [Node.js](node/ch-1.js) +* [Pascal](pascal/ch-1.p) * [Perl](perl/ch-1.pl) * [PHP](php/ch-1.php) * [Python](python/ch-1.py) @@ -31,6 +32,7 @@ * [Java](java/ch-2.java) * [Lua](lua/ch-2.lua) * [Node.js](node/ch-2.js) +* [Pascal](pascal/ch-2.p) * [Perl](perl/ch-2.pl) * [Python](python/ch-2.py) * [R](r/ch-2.r) diff --git a/challenge-134/abigail/pascal/ch-1.p b/challenge-134/abigail/pascal/ch-1.p new file mode 100644 index 0000000000..0a88f11efe --- /dev/null +++ b/challenge-134/abigail/pascal/ch-1.p @@ -0,0 +1,19 @@ +Program XXX; + +(* *) +(* See ../README.md *) +(* *) + +(* *) +(* Run as: fpc -och-1.out ch-1.p; ./ch-1.out < input-file *) +(* *) + +var + tails: array [1 .. 5] of integer = (789, 798, 879, 897, 978); + i: integer; + +begin + for i := 1 to 5 do begin + writeln (1023456000 + tails [i]); + end +end. diff --git a/challenge-134/abigail/pascal/ch-2.p b/challenge-134/abigail/pascal/ch-2.p new file mode 100644 index 0000000000..b255ae62d6 --- /dev/null +++ b/challenge-134/abigail/pascal/ch-2.p @@ -0,0 +1,34 @@ +Program XXX; + +(* *) +(* See ../README.md *) +(* *) + +(* *) +(* Run as: fpc -och-2.out ch-2.p; ./ch-2.out < input-file *) +(* *) + +var + n, m, i, j, count: integer; + seen: array of integer; + +begin + while (not eof) do begin + readln (n, m); + setLength (seen, n * m); + for i := 1 to n * m do begin + seen [i] := 0; + end; + count := 0; + for i := 1 to n do begin + for j := 1 to m do begin + if seen [i * j] = 0 + then begin + count := count + 1; + seen [i * j] := 1; + end + end + end; + writeln (count); + end +end. -- cgit From f37bb2cd7aa815d26da264d165888945b449029f Mon Sep 17 00:00:00 2001 From: Abigail Date: Wed, 13 Oct 2021 18:50:11 +0200 Subject: Improved Befunge-93 solution for week 134 --- challenge-134/abigail/befunge-93/ch-1.bf93 | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/challenge-134/abigail/befunge-93/ch-1.bf93 b/challenge-134/abigail/befunge-93/ch-1.bf93 index 2c9d7905a7..02498a6c93 100644 --- a/challenge-134/abigail/befunge-93/ch-1.bf93 +++ b/challenge-134/abigail/befunge-93/ch-1.bf93 @@ -1,5 +1,4 @@ -55+ "9876543201" ,,,,,,,,,,, v -55+ "8976543201" ,,,,,,,,,,, v> -55+ "9786543201" ,,,,,,,,,,, v> -55+ "7986543201" ,,,,,,,,,,, v> -55+ "8796543201" ,,,,,,,,,,,@> +"879798978897987"v +>,,,,,,,,,,55+, v +^ : +^"1023456" _@ -- cgit From 8d2394c5f5968392ece3d6d73a5f98e267edf40f Mon Sep 17 00:00:00 2001 From: Abigail Date: Wed, 13 Oct 2021 20:13:02 +0200 Subject: Erlang solution for week 134 --- challenge-134/abigail/README.md | 1 + challenge-134/abigail/erlang/ch-1.erl | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 challenge-134/abigail/erlang/ch-1.erl diff --git a/challenge-134/abigail/README.md b/challenge-134/abigail/README.md index 58fae311a4..7cb7880ca3 100644 --- a/challenge-134/abigail/README.md +++ b/challenge-134/abigail/README.md @@ -8,6 +8,7 @@ * [bc](bc/ch-1.bc) * [Befunge-93](befunge-93/ch-1.bf93) * [C](c/ch-1.c) +* [Erlang](erlang/ch-1.erl) * [Go](go/ch-1.go) * [Java](java/ch-1.java) * [Lua](lua/ch-1.lua) diff --git a/challenge-134/abigail/erlang/ch-1.erl b/challenge-134/abigail/erlang/ch-1.erl new file mode 100644 index 0000000000..0ce5451fb5 --- /dev/null +++ b/challenge-134/abigail/erlang/ch-1.erl @@ -0,0 +1,22 @@ +% +% See ../README.md +% + +% +% Run as: ln ch-1.erl ch1.erl +% erl -compile ch1 +% erl -noshell -s ch1 main -s init stop +% + +-module (ch1). +-export ([main/0]). + +func ([]) -> ok; +func ([H|T]) -> + io:fwrite ("1023456~w~n", [H]), + func (T). + + +main () -> + func ([789, 798, 879, 897, 978]). + -- cgit