logo Practice-It logo

Recursive Tracing

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

Consider the following method:

    public void mystery(int x, int y) {
        if (x > y)
            System.out.print("*");
        else if (x == y)
            System.out.print("=" + y + "=");
        else {
            System.out.print(y + " ");
            mystery(x + 1, y - 1);
            System.out.print(" " + x);
        }
    }

For each call below, indicate what output is produced:

mystery(3, 3);
mystery(5, 1);
mystery(1, 5);
mystery(2, 7);
mystery(1, 8);

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.