Starting Out with Java: From Control Structures through Objects (7th Edition) (What's New in Computer Science)
7th Edition
ISBN: 9780134802213
Author: Tony Gaddis
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Expert Solution & Answer
Chapter 15, Problem 5MC
Program Description Answer
When method A calls method B that in turn calls method A again is known as indirect recursion.
Hence, the correct option is “D”.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Which of the following is/are true regarding the characteristics of recursion?
a.Every recursive call reduces the original problem, bringing it increasingly closer to a base case until it becomes that case.
b.Recursive method requires less memory than an iterative method.
c. It is possible to convert every recursive method to an iterative method.
d.The method is implemented using an if-else or a switch statement that leads to different cases.
e.One or more base cases are used to stop recursion.
JAVA
Question 2:
For two integers m and n, their GCD (Greatest Common Divisor) can be computed by a recursive method. Write a recursive method gcd(m,n) to find their Greatest Common Divisor.
Method body:
If m is 0, the method returns n. If n is 0, the method returns m. If neither is 0, the method can recursively calculate the Greatest Common Divisor with two smaller parameters: One is n, the second one is m mod n (or m % n). The recursive method cannot have loops.
Note: although there are other approaches to calculate Greatest Common Divisor, please follow the instructions in this question, otherwise you will not get the credit.
main method:
Prompt and read in two numbers to find the greatest common divisor.
Call the gcd method with the two numbers as its argument. Print the result to the monitor.
Example program run:
Enter m:
12
Enter n:
28
GCD(12,28) = 4
And here is what I have so far,
package CSCI1302;import java.util.*;public class RecursionDemo {
public static void…
Do not use static variables to implement recursive methods.
USING JAVA
USING:
// P5
public static long computePay(int day) {
}
You have been offered a job that pays as follows:
On the first day, you are paid 1 cent, on the second day, 2 cents, on the third day, 4 cents and so on. In other words, your pay doubles every day. Write a recursive method computePay that for a given day number computes the pay in cents.
Assume that you accumulate all the money that you are paid. Write a recursive method computeSavings that computes the sum that you have accumulated on a given day. Show the output of computePay and computeSavings for day number 39.
Chapter 15 Solutions
Starting Out with Java: From Control Structures through Objects (7th Edition) (What's New in Computer Science)
Ch. 15.2 - It is said that a recursive algorithm has more...Ch. 15.2 - Prob. 15.2CPCh. 15.2 - What is a recursive case?Ch. 15.2 - What causes a recursive algorithm to stop calling...Ch. 15.2 - What is direct recursion? What is indirect...Ch. 15 - Prob. 1MCCh. 15 - This is the part of a problem that can be solved...Ch. 15 - This is the part of a problem that is solved with...Ch. 15 - This is when a method explicitly calls itself. a....Ch. 15 - Prob. 5MC
Ch. 15 - Prob. 6MCCh. 15 - True or False: An iterative algorithm will usually...Ch. 15 - True or False: Some problems can be solved through...Ch. 15 - True or False: It is not necessary to have a base...Ch. 15 - True or False: In the base case, a recursive...Ch. 15 - Find the error in the following program: public...Ch. 15 - Prob. 1AWCh. 15 - Prob. 2AWCh. 15 - What will the following program display? public...Ch. 15 - Prob. 4AWCh. 15 - What will the following program display? public...Ch. 15 - Convert the following iterative method to one that...Ch. 15 - Write an iterative version (using a loop instead...Ch. 15 - What is the difference between an iterative...Ch. 15 - What is a recursive algorithms base case? What is...Ch. 15 - What is the base case of each of the recursive...Ch. 15 - What type of recursive method do you think would...Ch. 15 - Which repetition approach is less efficient: a...Ch. 15 - When recursion is used to solve a problem, why...Ch. 15 - How is a problem usually reduced with a recursive...Ch. 15 - Prob. 1PCCh. 15 - isMember Method Write a recursive boolean method...Ch. 15 - String Reverser Write a recursive method that...Ch. 15 - maxElement Method Write a method named maxElement,...Ch. 15 - Palindrome Detector A palindrome is any word,...Ch. 15 - Character Counter Write a method that uses...Ch. 15 - Recursive Power Method Write a method that uses...Ch. 15 - Sum of Numbers Write a method that accepts an...Ch. 15 - Ackermarms Function Ackermanns function is a...Ch. 15 - Recursive Population Class In Programming...
Knowledge Booster
Similar questions
- IN #4, CODE THE FOLLOWING METHOD DEFINITIONS. 4a. Write a recursive implementation of the Fibonacci function.arrow_forwardJava Program: Recursive Method There are n people in a room where n is an integer greater then or equal to 2. Each person shakes hands once with every other person. What is the total number of handshakes in the room? Write a recursive method to solve this problem with the following header:public static int handshake(int n)where handshake(n) returns the total number of handshakes for n people in the room. To get you started if there are only one or two people in the room, then:handshake(1)=0handshake(2)=1arrow_forwardUsing JAVA Recursive Power Method Write a method called powCalthat uses recursion to raise a number to a power. The method should accept two arguments: The first argument is the exponentand the second argument is the number to be raised(example”powCal(10,2)means2^10). Assume that the exponent is anonnegative integer. Demonstrate the method in a program called Recursive (This means that you need to write a program that has at least two methods: mainand powCal. The powCal method is where you implement the requirements above and the main method is where you make a method call to demonstrate how your powCalmethod work).arrow_forward
- Write a recursive method that takes two integer number start and end. The method int evensquare2 (int start, int end) should return the square of even number from the start number to the end number. Then, write the main method to test the recursive method. For example: If start = 2 and end = 4, the method calculates and returns the value of: 22 * 4= 20 If start = 1 and end 2, the method calculates and returns the value of: 22 4 Sample I/O: Enter Number start: 2 Enter Number start: 4 Result = 20 Enter Number start: 1 Enter Number start: 2 Result = 4arrow_forwardPlease Give answer in C# Write a recursive method which sums all the even numbers up to a given number. For example if you call it with 10, it would return 30 because 10+8+6+4+2=30 Write a RECURSIVE method called sumEven It must take in an int (the max you wish to sum to) It must return an int (the sum) If it's passed in an even number it should sum the number passed in with all the even numbers before it. For example if passed 8, it would sum 8+6+4+2=20 If it's passed an odd number it should still sum only the EVEN numbers. What we mean is that sumEven(9) should return 8+6+4+2=20. Not 9+7+5+3+1. Hint: You'll have an if statement with the base condition, an else if for even and an else if for odd. In the case of odd, just call yourself with the next lowest even number. In your main method, open a file called "Carlton.txt" for writing. Use a loop to call the method above multiple times and print a line to the file for each iteration of the loop: The sum of even numbers up to 0 is 0 The…arrow_forward1. Write a recursive method expFive(n) to compute y=5^n. For instance, if n is 0, y is 1. If n is 3, then y is 125. If n is 4, then y is 625. The recursive method cannot have loops. Then write a testing program to call the recursive method. If you run your program, the results should look like this: > run RecExpTest Enter a number: 3 125 >run RecExpTest Enter a number: 3125 2. For two integers m and n, their GCD(Greatest Common Divisor) can be computed by a recursive function. Write a recursive method gcd(m,n) to find their Greatest Common Divisor. Once m is 0, the function returns n. Once n is 0, the function returns m. If neither is 0, the function can recursively calculate the Greatest Common Divisor with two smaller parameters: One is n, the second one is m mod n. Although there are other approaches to calculate Greatest Common Divisor, please follow the instructions in this question, otherwise you will not get the credit. Meaning your code needs to follow the given algorithm. Then…arrow_forward
- Write and test the following recursive methods:1. A method that, for a positive integer n, prints odd numbers between 1 and n.2. A method that, for a positive integer n, prints odd numbers between n and 1.3. A method to add the first n terms of the series: 1 +12−13+14−15…1?4. A recursive version of the following method:void cubes(int n) {for (int i = 1; i <= n; i++)System.out.print(i * i * i, " ");}arrow_forwardWhen writing a recursive method, you do not need to know ahead of time exactly how many levels of recursion will occur. you must keep count of how many recursion call levels you have traversed. you must make sure the method does not take any input parameters.arrow_forwardWrite a recursive solution to the problem below. You MUST use only one method, and that method must have the provided method header. You are allowed to use loops, but you must also use recursion. Given a word of length n, print every possible word of length n that can be made with those characters. Note: The order of the output does not matter, only that all possibilities are listed. Example: Input: rot Output: rot, rto, otr, ort, tro, tor Input: frog Output: frog, frgo, fogr, forg, fgro, fgor, rogf, rofg, rgfo, rgof, rfog, rfgo, ogfr, ogrf, ofrg, ofgr, orgf, orfg, gfro, gfor, grof, grfo, gofr, gorf public void printAllPossibilities (String prefix, String suffix){ }arrow_forward
- Have a research on the use of the Math methods and write a program that uses Math method. Use at least 10 methods. Using recursion, write a program that tells whether a number is palindrome or not Write a Java program that determines whether a positive integer is a prime number. Use a method that reads positive integer, second method that returns true if the number is prime; otherwise returns false and a method that prints a message telling whether is a prime number or not. Sample Output: Positive Integer: 73 73 is a prime number Have a research on the use of the Date and Time methods and write a program that uses Date and Time method. Use at least 3. Have a research on the use of the String methods and write a program that uses String method. Use at least 10.arrow_forwardC# Write a recursive method called Power(base, exponent) that, when called, returns base exponent . For example, Power ( 3, 4 ) = 3 * 3 * 3 * 3. Assume that exponent is an integer greater than or equal to 1. The recursion step should use the relationship: base exponent = base * base exponent – 1 The terminating condition occurs when exponent is equal to 1 because base 1 = base Incorporate this method into an application that enables the user to enter the base and exponent. Requirements: In the Main() method, declare three arrays of long data types: baseNumbers, exponents, and results. Each array should be created to hold exactly 5 members. Using a FOR loop, populate the baseNumbers array with random integers between 1 and 50 and populate the exponents array with random integers between 1 and 10. Use a random number generator to create these random numbers. Using another FOR loop, call the Power method, passing it a member of the baseNumbers array and a member of the exponents…arrow_forwardWrite a recursive method that parses a binary number as astring into a decimal integer. The method header is public static int bin2Dec(String binaryString) Write a test program that prompts the user to enter a binary string and displaysits decimal equivalent.arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education