From d15beb5dcb76d40a0c324a9be4da7d570976c911 Mon Sep 17 00:00:00 2001 From: Abigail Date: Tue, 18 May 2021 21:10:07 +0200 Subject: Bash solution for week 113, part 1 --- challenge-113/abigail/README.md | 1 + challenge-113/abigail/bash/ch-1.sh | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 challenge-113/abigail/bash/ch-1.sh diff --git a/challenge-113/abigail/README.md b/challenge-113/abigail/README.md index 47f50ad7f3..b4469041da 100644 --- a/challenge-113/abigail/README.md +++ b/challenge-113/abigail/README.md @@ -19,6 +19,7 @@ Output: 1 ### Solutions * [AWK](awk/ch-1.awk) +* [Bash](bash/ch-1.sh) * [Perl](perl/ch-1.pl) ### Blog diff --git a/challenge-113/abigail/bash/ch-1.sh b/challenge-113/abigail/bash/ch-1.sh new file mode 100644 index 0000000000..7183523485 --- /dev/null +++ b/challenge-113/abigail/bash/ch-1.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +# +# See ../README.md +# + +# +# Run as: bash ch-1.sh < input-file +# + +tens=(0 0 1 2 1 0 2 6 3 8) + +while read N D +do ((D10 = D == 0 ? 100 : 10 * D)) + if ((N >= D10 || (N % (D == 0 ? 10 : D) == 0))) + then echo 1 + continue + fi + for ((i = 1; i <= ${tens[$D]}; i ++)) + do ((T = N - 10 * i - D)) + if ((T >= 0 && T % D == 0)) + then echo 1 + continue 2 + fi + done + echo 0 +done + + -- cgit