logo Practice-It logo

Recursive Tracing

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

Consider the following method:

    public static int mystery(int x, int y) {
        if (x < 0) {
            return -mystery(-x, y);
        } else if (y < 0) {
            return -mystery(x, -y);
        } else if (y < x) {
            return 0;
        } else {
            return 1 + mystery(x, y - x);

For each call below, indicate what value is returned:

mystery(10, 28)
mystery(5, 17)
mystery(2, 10)
mystery(4, -15)
mystery(-3, -23)

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.