summaryrefslogtreecommitdiff
path: root/src/HailstoneSequence.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/HailstoneSequence.java')
-rw-r--r--src/HailstoneSequence.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/HailstoneSequence.java b/src/HailstoneSequence.java
new file mode 100644
index 0000000..b0e3c48
--- /dev/null
+++ b/src/HailstoneSequence.java
@@ -0,0 +1,17 @@
+package ca.mokhan.assignment1;
+
+import java.util.ArrayList;
+
+public class HailstoneSequence {
+ public static ArrayList<Integer> getHailstoneSequence(int n) {
+ return getHailstoneSequence(n, new ArrayList<Integer>());
+ }
+
+ public static ArrayList<Integer> getHailstoneSequence(int n, ArrayList<Integer> items) {
+ items.add(n);
+
+ if (n == 1) return items;
+ else if (n % 2 == 0) return getHailstoneSequence(n / 2, items);
+ else return getHailstoneSequence((n * 3) + 1, items);
+ }
+}