diff options
| author | Márton Polgár <37218286+2colours@users.noreply.github.com> | 2022-02-21 18:24:51 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-21 18:24:51 +0100 |
| commit | 1b528a9e77709d3d6159c9bf4e8066a735049797 (patch) | |
| tree | 47f1cc98c548411026748c99cd0997ff0988681a | |
| parent | 1c39414e90bfa4093a8443f28c4d8e00a6809363 (diff) | |
| parent | e1575d77a4181187d7a30e2ac0df6679f4e2bd43 (diff) | |
| download | perlweeklychallenge-club-1b528a9e77709d3d6159c9bf4e8066a735049797.tar.gz perlweeklychallenge-club-1b528a9e77709d3d6159c9bf4e8066a735049797.tar.bz2 perlweeklychallenge-club-1b528a9e77709d3d6159c9bf4e8066a735049797.zip | |
Merge branch 'manwar:master' into branch-for-challenge-153
95 files changed, 3527 insertions, 1673 deletions
diff --git a/challenge-153/abigail/README.md b/challenge-153/abigail/README.md index 9b1fd5d762..818ee634c4 100644 --- a/challenge-153/abigail/README.md +++ b/challenge-153/abigail/README.md @@ -4,21 +4,50 @@ * [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) +* [Cobol](cobol/ch-1.cb) +* [Csh](csh/ch-1.csh) +* [Erlang](erlang/ch-1.erl) +* [Forth](forth/ch-1.fs) +* [Fortran](fortran/ch-1.f90) +* [Go](go/ch-1.go) +* [Java](java/ch-1.java) * [Lua](lua/ch-1.lua) +* [M4](m4/ch-1.m4) +* [MMIX](mmix/ch-1.mms) * [Node.js](node/ch-1.js) +* [OCaml](ocaml/ch-1.ml) +* [Pascal](pascal/ch-1.p) * [Perl](perl/ch-1.pl) +* [PHP](php/ch-1.php) +* [PostScript](postscript/ch-1.ps) * [Python](python/ch-1.py) +* [R](r/ch-1.r) +* [Rexx](rexx/ch-1.rexx) * [Ruby](ruby/ch-1.rb) +* [Scheme](scheme/ch-1.scm) +* [sed](sed/ch-1.sed) +* [sql](sql/ch-1.sql) +* [Tcl](tcl/ch-1.tcl) ## Part 2 * [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) * [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) * [Ruby](ruby/ch-2.rb) +* [Scheme](scheme/ch-1.scm) +* [Tcl](tcl/ch-2.tcl) diff --git a/challenge-153/abigail/awk/ch-1.awk b/challenge-153/abigail/awk/ch-1.awk new file mode 100644 index 0000000000..e4a0e26b29 --- /dev/null +++ b/challenge-153/abigail/awk/ch-1.awk @@ -0,0 +1,19 @@ +#!/usr/bin/awk + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-153 +# + +# +# Run as: awk -f ch-1.awk +# + +BEGIN { + sum = 1 + fac = 1 + printf "%d", sum + for (n = 1; n <= 9; n ++) { + printf " %d", sum += fac *= n + } + printf "\n" +} diff --git a/challenge-153/abigail/awk/ch-2.awk b/challenge-153/abigail/awk/ch-2.awk new file mode 100644 index 0000000000..0ce3b6f0a6 --- /dev/null +++ b/challenge-153/abigail/awk/ch-2.awk @@ -0,0 +1,26 @@ +#!/usr/bin/awk + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-153 +# + +# +# Run as: awk -f ch-1.awk < input-file +# + +BEGIN { + fac [0] = 1 + for (n = 1; n <= 9; n ++) { + fac [n] = n * fac [n - 1] + } +} + +{ + sum = 0 + n = $1 + while (n > 0) { + sum += fac [n % 10] + n = int (n / 10) + } + print sum == $1 ? 1 : 0 +} diff --git a/challenge-153/abigail/bash/ch-1.sh b/challenge-153/abigail/bash/ch-1.sh new file mode 100644 index 0000000000..289ffc568e --- /dev/null +++ b/challenge-153/abigail/bash/ch-1.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-153 +# + +# +# Run as: bash ch-1.sh +# + +set -f + +((sum = 1)) +((fac = 1)) +printf %d $sum +for ((n = 1; n <= 9; n ++)) +do ((fac *= n)) + ((sum += fac)) + printf " %d" $sum +done +echo diff --git a/challenge-153/abigail/bash/ch-2.sh b/challenge-153/abigail/bash/ch-2.sh new file mode 100644 index 0000000000..a685d42993 --- /dev/null +++ b/challenge-153/abigail/bash/ch-2.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-153 +# + +# +# Run as: bash ch-2.sh < input-file +# + +set -f + +declare -a fac +fac[0]=1 +for ((n = 1; n <= 9; n ++)) +do fac[$n]=$((n * ${fac[$((n - 1))]})) +done + +while read num +do ((n = num)) + ((sum = 0)) + while ((n > 0)) + do ((sum += ${fac[n % 10]})) + ((n /= 10)) + done + if ((sum == num)) + then echo 1 + else echo 0 + fi +done diff --git a/challenge-153/abigail/basic/ch-1.bas b/challenge-153/abigail/basic/ch-1.bas new file mode 100644 index 0000000000..f50baa1acf --- /dev/null +++ b/challenge-153/abigail/basic/ch-1.bas @@ -0,0 +1,9 @@ +010 REM +020 REM See https://theweeklychallenge.org/blog/perl-weekly-challenge-153 +030 REM + +040 REM +050 REM Run as: basic ch-1.bas +060 REM + +100 PRINT "1 2 4 10 34 154 874 5914 46234 409114" diff --git a/challenge-153/abigail/bc/ch-1.bc b/challenge-153/abigail/bc/ch-1.bc new file mode 100644 index 0000000000..b5793fa12e --- /dev/null +++ b/challenge-153/abigail/bc/ch-1.bc @@ -0,0 +1,26 @@ +#!/usr/bin/bc + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-153 +# + +# +# Run as: bc ch-1.bc +# + +sum = 1 +fac = 1 + +print sum + +for (n = 1; n <= 9; n ++) { + fac = fac * n + sum = sum + fac + print " ", sum +} + +" +" + +halt + diff --git a/challenge-153/abigail/bc/ch-2.bc b/challenge-153/abigail/bc/ch-2.bc new file mode 100644 index 0000000000..d4f59e92e0 --- /dev/null +++ b/challenge-153/abigail/bc/ch-2.bc @@ -0,0 +1,34 @@ +#!/usr/bin/bc + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-153 +# + +# +# Run as: bc ch-2.bc < input-file +# + +fac [0] = 1 +for (n = 1; n <= 9; n ++) { + fac [n] = n * fac [n - 1] +} + +while (1) { + num = read () + if (num == 0) { + break + } + n = num + sum = 0 + while (n > 0) { + sum += fac [n % 10] + n /= 10 + } + if (num == sum) { + 1 + } else { + 0 + } +} + +halt diff --git a/challenge-153/abigail/befunge-93/ch-1.bf93 b/challenge-153/abigail/befunge-93/ch-1.bf93 new file mode 100644 index 0000000000..dad23c1a52 --- /dev/null +++ b/challenge-153/abigail/befunge-93/ch-1.bf93 @@ -0,0 +1,2 @@ +< v,_@#:< "1 2 4 10 34 154 874 5914 46234 409114" +55 + > ^ diff --git a/challenge-153/abigail/c/ch-1.c b/challenge-153/abigail/c/ch-1.c new file mode 100644 index 0000000000..95fa3dcc2b --- /dev/null +++ b/challenge-153/abigail/c/ch-1.c @@ -0,0 +1,22 @@ +# include <stdlib.h> +# include <stdio.h> +# include <string.h> + +/* + * See https://theweeklychallenge.org/blog/perl-weekly-challenge-153 + */ + +/* + * Run as: cc -o ch-1.o ch-1.c; ./ch-1.o + */ + +int main (void) { + int sum = 1; + int fac = 1; + printf ("%d", sum); + for (int n = 1; n <= 9; n ++) { + printf (" %d", sum += fac *= n); + } + printf ("\n"); + return (0); +} diff --git a/challenge-153/abigail/c/ch-2.c b/challenge-153/abigail/c/ch-2.c new file mode 100644 index 0000000000..3d76b48f10 --- /dev/null +++ b/challenge-153/abigail/c/ch-2.c @@ -0,0 +1,33 @@ +# include <stdlib.h> +# include <stdio.h> +# include <string.h> + +/* + * See https://theweeklychallenge.org/blog/perl-weekly-challenge-153 + */ + +/* + * Run as: cc -o ch-2.o ch-2.c; ./ch-2.o < input-file + */ + +int main (void) { + int fac [10]; + int num; + + fac [0] = 1; + for (int n = 1; n <= 9; n ++) { + fac [n] = n * fac [n - 1]; + } + + while (scanf ("%d", &num) == 1) { + int n = num; + int sum = 0; + while (n > 0) { + sum += fac [n % 10]; + n /= 10; + } |
