From 90913122376d0d23610f4eea69d956f6c26ed38b Mon Sep 17 00:00:00 2001 From: Abigail Date: Tue, 4 Jan 2022 20:37:12 +0100 Subject: Week 1: bc solution for part 2 --- challenge-001/abigail/README.md | 1 + challenge-001/abigail/bc/ch-2.bc | 33 +++++++++++++++++++++++++++++++++ challenge-001/abigail/t/ctest.ini | 3 +++ 3 files changed, 37 insertions(+) create mode 100644 challenge-001/abigail/bc/ch-2.bc diff --git a/challenge-001/abigail/README.md b/challenge-001/abigail/README.md index 1d8ab34070..5ea37b3c0d 100644 --- a/challenge-001/abigail/README.md +++ b/challenge-001/abigail/README.md @@ -43,6 +43,7 @@ upper bound from STDIN. * [AWK](awk/ch-2.awk) * [Bash](bash/ch-2.sh) * [Befunge-93](befunge-93/ch-2.bf93) +* [bc](bc/ch-2.bc) * [C](c/ch-2.c) * [Go](go/ch-2.go) * [Java](java/ch-2.java) diff --git a/challenge-001/abigail/bc/ch-2.bc b/challenge-001/abigail/bc/ch-2.bc new file mode 100644 index 0000000000..f5b05b3464 --- /dev/null +++ b/challenge-001/abigail/bc/ch-2.bc @@ -0,0 +1,33 @@ +#!/usr/bin/bc + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-001 +# + +# +# Run as: bc ch-2.bc < input-file +# + +while (1) { + max = read () + if (max == 0) { + break + } + for (i = 1; i <= max; i ++) { + if (i % 15 == 0) { + "fizzbuzz" + } + if (i % 15 != 0 && i % 5 == 0) { + "buzz" + } + if (i % 15 != 0 && i % 3 == 0) { + "fizz" + } + if (i % 5 == 0 || i % 3 == 0) { + " +" + } else { + i + } + } +} diff --git a/challenge-001/abigail/t/ctest.ini b/challenge-001/abigail/t/ctest.ini index abca6977af..0ff9060a65 100644 --- a/challenge-001/abigail/t/ctest.ini +++ b/challenge-001/abigail/t/ctest.ini @@ -7,3 +7,6 @@ 1-2 = No e 2-1 = The Challenge 2-2 = Regular upper bound + +[2-1,2-2/bc] +add_to_input = 0 -- cgit