summaryrefslogtreecommitdiff
path: root/src/Q7/HailstoneSequence.java
blob: b0e3c48ab95b09b3773b8181d6c904ba4861ae1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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);
  }
}