aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-10-26 18:27:30 +0200
committerAbigail <abigail@abigail.be>2021-10-26 18:27:30 +0200
commit0b59fc36f4c1f832e41978cbab29475af95ffb10 (patch)
tree5bc82283928ebe5fb9ceaf40854daceb3582bf4e
parent4894bf4150e87a883dcc94d1172df4feb4c5e45b (diff)
downloadperlweeklychallenge-club-0b59fc36f4c1f832e41978cbab29475af95ffb10.tar.gz
perlweeklychallenge-club-0b59fc36f4c1f832e41978cbab29475af95ffb10.tar.bz2
perlweeklychallenge-club-0b59fc36f4c1f832e41978cbab29475af95ffb10.zip
Bash solution for week 136, part 2
-rw-r--r--challenge-136/abigail/README.md1
-rw-r--r--challenge-136/abigail/bash/ch-2.sh32
2 files changed, 33 insertions, 0 deletions
diff --git a/challenge-136/abigail/README.md b/challenge-136/abigail/README.md
index 3989f056f3..ea2555503a 100644
--- a/challenge-136/abigail/README.md
+++ b/challenge-136/abigail/README.md
@@ -19,6 +19,7 @@
## Part 2
* [AWK](awk/ch-2.awk)
+* [Bash](bash/ch-1.sh)
* [Bc](bc/ch-2.bc)
* [C](c/ch-2.c)
* [Go](go/ch-2.go)
diff --git a/challenge-136/abigail/bash/ch-2.sh b/challenge-136/abigail/bash/ch-2.sh
new file mode 100644
index 0000000000..1a291d7d18
--- /dev/null
+++ b/challenge-136/abigail/bash/ch-2.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+#
+# See ../README.md
+#
+
+#
+# Run as: bash ch-2.sh < input-file
+#
+
+set -f
+
+function count () {
+ local target=$1
+ local this_fib=${2:-1}
+ local prev_fib=${3:-1}
+
+ if ((target < this_fib))
+ then count=0
+ elif ((target == this_fib))
+ then count=1
+ else count $((target - this_fib)) $((this_fib + prev_fib)) $this_fib
+ local sum=$count
+ count $target $((this_fib + prev_fib)) $this_fib
+ count=$((count + sum))
+ fi
+}
+
+while read target
+do count $target
+ echo $count
+done