logo Practice-It logo

Recursive Tracing

Language/Type: Java mod recursion recursive tracing
Author: Stuart Reges (on 2014/02/13)

Consider the following method:

    public void mystery(int n) {
        if (n == 1) {
            System.out.print(n);
        } else {
            System.out.print(n + ", ");
            if (n % 2 == 0) {
                mystery(n / 2);
            } else {
                mystery(3 * n + 1);
            }
        }
    }

For each call below, indicate what output is produced:

mystery(1);
mystery(2);
mystery(4);
mystery(8);
mystery(10);

You must log in before you can solve this problem.


Log In

If you do not understand how to solve a problem or why your solution doesn't work, please contact your TA or instructor.
If something seems wrong with the site (errors, slow performance, incorrect problems/tests, etc.), please

Is there a problem? Contact a site administrator.