summaryrefslogtreecommitdiff
path: root/src/section-7/HailstoneSequence.java
diff options
context:
space:
mode:
authormokha <mokha@cisco.com>2019-05-05 19:48:09 -0600
committermokha <mokha@cisco.com>2019-05-05 19:48:09 -0600
commit99a28d2dba93642e89a62ecf905a3bd4f138318d (patch)
treeee10a7df683642a42991896bbec5ced501a2abd1 /src/section-7/HailstoneSequence.java
parent3c2be35d16d7482442911f5b06b68512f86e15b5 (diff)
split code into directories closer to what the instructor wants
Diffstat (limited to 'src/section-7/HailstoneSequence.java')
-rw-r--r--src/section-7/HailstoneSequence.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/section-7/HailstoneSequence.java b/src/section-7/HailstoneSequence.java
new file mode 100644
index 0000000..b0e3c48
--- /dev/null
+++ b/src/section-7/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);
+ }
+}