summaryrefslogtreecommitdiff
path: root/src/Q7/HailstoneSequence.java
diff options
context:
space:
mode:
authormokha <mokha@cisco.com>2019-05-05 19:57:14 -0600
committermokha <mokha@cisco.com>2019-05-05 19:57:14 -0600
commit7b4cb6a2eef3a0fcde7e998832427c73599e4a0a (patch)
tree75acc7cd8f3bd8a087e909db182c9e18a66879a1 /src/Q7/HailstoneSequence.java
parent99a28d2dba93642e89a62ecf905a3bd4f138318d (diff)
use the exact naming convention for directories described by instructor
Diffstat (limited to 'src/Q7/HailstoneSequence.java')
-rw-r--r--src/Q7/HailstoneSequence.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/Q7/HailstoneSequence.java b/src/Q7/HailstoneSequence.java
new file mode 100644
index 0000000..b0e3c48
--- /dev/null
+++ b/src/Q7/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);
+ }
+}