commit 65583c1
Artur Manuel
·
2025-07-06 15:37:23 +0000 UTC
parent 9d5976e
feat(shell): add shell
2 files changed,
+44,
-0
+9,
-0
1@@ -0,0 +1,9 @@
2+PREFIX ?= /usr/local
3+BINDIR = $(PREFIX)/bin/
4+
5+install:
6+ mkdir -p $(BINDIR)
7+ cp bin/collatz $(BINDIR)
8+
9+clean:
10+ rm $(BINDIR)/collatz
+35,
-0
1@@ -0,0 +1,35 @@
2+#!/bin/sh
3+
4+collatz()
5+{
6+ a="$1"
7+ if [ $((a % 2)) -eq 0 ]
8+ then
9+ echo $((a / 2))
10+ else
11+ echo $((3 * a + 1))
12+ fi
13+}
14+
15+collatzSequence()
16+{
17+ result="${1}: "
18+ i="$1"
19+
20+ while true
21+ do
22+ if [ "$i" -eq 1 ]
23+ then
24+ result="${result}1"
25+ break
26+ fi
27+ result="${result}${i}, "
28+ i="$(collatz "$i")"
29+ done
30+ echo $result
31+}
32+
33+for i in $(seq 10000)
34+do
35+ echo "$(collatzSequence "$i")"
36+done