aboutsummaryrefslogtreecommitdiff
path: root/challenge-136/abigail/bash
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 /challenge-136/abigail/bash
parent4894bf4150e87a883dcc94d1172df4feb4c5e45b (diff)
downloadperlweeklychallenge-club-0b59fc36f4c1f832e41978cbab29475af95ffb10.tar.gz
perlweeklychallenge-club-0b59fc36f4c1f832e41978cbab29475af95ffb10.tar.bz2
perlweeklychallenge-club-0b59fc36f4c1f832e41978cbab29475af95ffb10.zip
Bash solution for week 136, part 2
Diffstat (limited to 'challenge-136/abigail/bash')
-rw-r--r--challenge-136/abigail/bash/ch-2.sh32
1 files changed, 32 insertions, 0 deletions
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