diff options
Diffstat (limited to 'src/main/java/ca/mokhan/assignment1/HailstoneSequence.java')
| -rw-r--r-- | src/main/java/ca/mokhan/assignment1/HailstoneSequence.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/ca/mokhan/assignment1/HailstoneSequence.java b/src/main/java/ca/mokhan/assignment1/HailstoneSequence.java new file mode 100644 index 0000000..b0e3c48 --- /dev/null +++ b/src/main/java/ca/mokhan/assignment1/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); + } +} |
