EBK STARTING OUT WITH PROGRAMMING LOGIC
4th Edition
ISBN: 9780100659384
Author: GADDIS
Publisher: YUZU
expand_more
expand_more
format_list_bulleted
Concept explainers
Textbook Question
Chapter 13, Problem 4TF
In the base case, a recursive method calls itself with a smaller version of the original problem.
Expert Solution & Answer
![Check Mark](/static/check-mark.png)
Want to see the full answer?
Check out a sample textbook solution![Blurred answer](/static/blurred-answer.jpg)
Students have asked these similar questions
1. Let product(n,m) be a recursive method that computes the product of two positive integers, using only addition and subtraction. To make this method a recursive one, you are to make a) a base case when m = 1, b) a general case when m ≠ 1. For a general case, the return value should be n plus the result of a recursive call to the method product() with parameters n and m - 1. Write a short Java code for this method, along with a test program.
When recursion is used to solve a problem, why must the recursive method call itself to solve a smaller version of the original problem?
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…
Chapter 13 Solutions
EBK STARTING OUT WITH PROGRAMMING LOGIC
Ch. 13.2 - It is said that a recursive algorithm has more...Ch. 13.2 - Prob. 13.2CPCh. 13.2 - What is a recursive case?Ch. 13.2 - What causes a recursive algorithm to stop calling...Ch. 13.2 - What is direct recursion? What is indirect...Ch. 13 - Prob. 1MCCh. 13 - A module is called once from a programs main...Ch. 13 - The part of a problem that can be solved without...Ch. 13 - Prob. 4MCCh. 13 - Prob. 5MC
Ch. 13 - Prob. 6MCCh. 13 - Any problem that can be solved recursively can...Ch. 13 - Actions taken by the computer when a module is...Ch. 13 - A recursive algorithm must _______ in the...Ch. 13 - A recursive algorithm must _____ in the base case....Ch. 13 - An algorithm that uses a loop will usually run...Ch. 13 - Some problems can be solved through recursion...Ch. 13 - It is not necessary to have a base case in all...Ch. 13 - In the base case, a recursive method calls itself...Ch. 13 - In Program 13-2, presented earlier in this...Ch. 13 - In this chapter, the rules given for calculating...Ch. 13 - Is recursion ever required to solve a problem?...Ch. 13 - When recursion is used to solve a problem, why...Ch. 13 - How is a problem usually reduced with a recursive...Ch. 13 - What will the following program display? Module...Ch. 13 - What will the following program display? Module...Ch. 13 - The following module uses a loop. Rewrite it as a...Ch. 13 - Prob. 1PECh. 13 - Prob. 2PECh. 13 - Recursive Array Sum Design a function that accepts...Ch. 13 - Prob. 4PECh. 13 - Prob. 5PECh. 13 - Ackermanns Function 7. Ackermanns Function is a...
Additional Engineering Textbook Solutions
Find more solutions based on key concepts
Describe a method that can be used to gather a piece of data such as the users age.
Web Development and Design Foundations with HTML5 (8th Edition)
The article mentions that quantum computers will have tremendous processing power and revolutionize a number of...
Using MIS (10th Edition)
1. Read the problem statement. 2. Formulate the algorithm using pseudocode and top-down, stepwise refinement. 3...
Java How to Program, Early Objects (11th Edition) (Deitel: How to Program)
Consider the adage Never ask a question for which you do not want the answer. a. Is following that adage ethica...
Experiencing MIS
In general copyright laws support ownership rights associated with the expression of an idea but not for the id...
Computer Science: An Overview (12th Edition)
Knowledge Booster
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
- When 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_forwardJava language Write a recursive method to add all of the odd numbers between two numbers (start and end) and return the result. The method receives these numbers as parameters.arrow_forwardQuestion 5 When writing a recursive method, O you do not need to know ahead of time exactly how many levels of recursion will occur. O you must keep count of how many recursion call levels you have traversed. O you must make sure the method does not take any input parameters.arrow_forward
- 9. Ackermann's Function Ackermann's function is a recursive mathematical algorithm that can be used to test how well a computer performs recursion. Write a method ackermann (m, n), which solves Ackermann's function. Use the following logic in your method: If m = 0 then return n + 1 If n = 0 then return ackermann (m Otherwise, return ackermann(m 1, 1) 1, ackermann (m, n - 1))arrow_forwardPascal's triangle is a useful recursive definition that tells us the coefficients in the expansion of the polynomial (x + a)^n. Each element in the triangle has a coordinate, given by the row it is on and its position in the row (which you could call a column). Every number in Pascals triangle is defined as the sum of the item above it and the item above it and to the left. If there is a position that does not have an entry, we treat it as if we had a 0 there. *picture of the pascals triangle* Given the following recursive function signature, write the recursive function that takes a row and a column and finds the value at that position in the triangle. Assume that the triangle starts at row 0 and column 0. Examples: pascal(2, 1) -> 2, pascal(1, 2) -> 0 public int pascal(int row, int column) { }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
- 1. Let product(n,m) be a recursive addition-subtraction method for multiplying two positive integers. Recursive cases for m = 1 and m < 1 make this method. The return value should be n plus a recursive product() call with n and m - 1. Test a Java method.arrow_forwardExercise-3: Write a recursive and iterative methods to convert a decimal number to its binary equivalent string. The iterative algorithm (in pseudo-code) for converting a decimal integer into a binary integer as follows: 1. If the integer is 0 or 1, its binary equivalent is 0 or 1. 2. If the integer is greater than or equal to 2 do the following: 3. Divide the integer by 2. 4. Separate the result into a quotient and remainder. 5. Divide the quotient again and repeat the process until the quotient is zero. 6. Write down all remainders in reverse order as a string. 7. This string is the binary equivalent of the given integer. // Recursive decimal to binary method public static String dec2binRecursive(int n) { if (n<2) return n+ " ". else return dec2binRecursive(n/2) + n%2; } a) Write the Complete program for above Recursive decimal to binary method Algorit b) Iterative decimal to binary methodarrow_forwardThe word ladder game was invented by Lewis Carroll in 1877. The idea is to begin with a start word and then change one letter at a time until you arrive at an end word. Each word along the way must be an English word. For example, starting from FISH, you can arrive at MAST through the following word ladder:FISH, WISH, WASH, MASH, MAST Write a program that uses recursion to find the word ladder given a start word and an end word, or that determines no word ladder exists. Use the file words.txt that is available online with the source code for the book as your dictionary of valid words. This file contains 87,314 words. Your program does not need to find the shortest word ladder between words; any word ladder will do if one exists. list aalii aardvark aardvarks aardwolf aba abaca abaci abacist aback abacus abacuses abaft abalone abalones abamp abampere abandon abandoned abandonee abandoner abandonersarrow_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_forwardWhich 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.arrow_forwardEx. 01 : Recursion About So far, we have learned that we can perform repetitive tasks using loops. However, another way is by creating methods that call themselves. This programming technique is called recursion and, a method that calls itself within it's own body is called a recursive method. One use of recursion is to perform repetitive tasks instead of using loops, since some problems seem to be solved more naturally with recursion than with loops. To solve a problem using recursion, it is broken down into sub-problems. Each sub-problem is similar to the original problem, but smaller in size. You can apply the same approach to each sub-problem to solve it recursively. All recursive methods use conditional tests to either 1. stop or 2. continue the recursion. Each recursive method has the following characteristics: 1. end/terminating case: One or more end cases to stop the recursion. 2. recursive case: reduces the problem in to smaller sub-problems, until it reaches (becomes) the end…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
![Text book image](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
![Text book image](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
![Text book image](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
![Text book image](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
![Text book image](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
![Text book image](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education
Computational Software for Intelligent System Design; Author: Cadence Design Systems;https://www.youtube.com/watch?v=dLXZ6bM--j0;License: Standard Youtube License