Could you help me  the following question Below is a recursive function written in Java that takes 2 integers and returns an integer:       public static int gcd(int x, int y)     {         if (y == 0)             return x;         else             return gcd(y, x/y);     }   Answer the following multiple choice questions. Remember that multiple answers can still apply.   Based on how this code is exactly written, if we called this function with “gcd(25, 15);” from main, which of the following is true: In the first function instance of gcd, x will be 25 and y will be 15. This will not trigger the base case so a recursive function call to gcd will then occur When the base case is finally reached, y will be 0 and x will be 5 We will be in the 4th function instance of gcd when the base case is reached None of the above

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter15: Recursion
Section: Chapter Questions
Problem 8SA
icon
Related questions
Question

Could you help me  the following question

Below is a recursive function written in Java that takes 2 integers and returns an integer:

 

    public static int gcd(int x, int y)

    {

        if (y == 0)

            return x;

        else

            return gcd(y, x/y);

    }

 

Answer the following multiple choice questions. Remember that multiple answers can still apply.

 

  • Based on how this code is exactly written, if we called this function with “gcd(25, 15);” from main, which of the following is true:
    1. In the first function instance of gcd, x will be 25 and y will be 15. This will not trigger the base case so a recursive function call to gcd will then occur
    2. When the base case is finally reached, y will be 0 and x will be 5
    3. We will be in the 4th function instance of gcd when the base case is reached
    4. None of the above
  • If we changed the code in the else block to “return gcd(y, x%y);”, which of the following would then be true:
    1. If we call “gcd(5,5);”, we will get an infinite loop
    2. If we call “gcd(7,3);”, then in the first function instance of gcd, x will be 7 and y will be 3. This will trigger the base case and return 1
    3. If we call “gcd(3,7);”, we will eventually get a return value of 1 from the 4th function instance of the recursive execution
    4. None of the above
  • Which of the following is true about recursion in general:
    1. The base case is where the recursion occurs and where we would see code that calls itself
    2. Recursive functions can also be written using an iterative loop, though the complexity of the code may increase and we may need to incorporate using other data structures like a stack
    3. Recursive functions run faster if we use a Linked List implementation instead
    4. None of the above

 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Declaring and Defining the Function
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning