• + 4 comments

    Same logic with recursion approach:

    private static int viralAdvertising(int n, int days) {
          return ( days == 0 ) ? 0 : ((n >> 1) + viralAdvertising(((n >> 1) * 3), --days));
    }