summaryrefslogtreecommitdiff
path: root/factor
diff options
context:
space:
mode:
Diffstat (limited to 'factor')
-rwxr-xr-x[-rw-r--r--]factor25
1 files changed, 25 insertions, 0 deletions
diff --git a/factor b/factor
index e69de29..81bc614 100644..100755
--- a/factor
+++ b/factor
@@ -0,0 +1,25 @@
+factor() {
+ n=$1
+ f=2
+
+ printf '%d:' $n
+
+ while [ $n -gt $f ]; do
+ if [ $((n % f)) -eq 0 ]; then
+ printf ' %d' $f
+ n=$((n / f))
+ else
+ f=$((f + 1))
+ fi
+ done
+
+ if [ $n -gt 1 ]; then
+ printf ' %d' $n
+ fi
+
+ printf '\n'
+}
+
+for i in $*; do
+ factor $i
+done