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