EBK DATA STRUCTURES AND ALGORITHMS IN C
4th Edition
ISBN: 9781285415017
Author: DROZDEK
Publisher: YUZU
expand_more
expand_more
format_list_bulleted
Question
Chapter 5, Problem 11E
Program Plan Intro
Recursive method to find Greatest Common Divisor (GCD) of two numbers:
Recursive method:
- A recursive method is any method that calls itself.
- In recursive function base case will stop recursion and return value instead of calling function.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Consider the following recursive function:
if b = 0,
if 6 > a > 0,
a
f(b, a)
f (b, 2.(a mod b)) otherwise.
f(a, b) =
Estimate the number of recursive applications required to compute f(a, b).
8- Determine if each of the following recursive definition is a valid recursive definition of a function
f from a set of non-negative integers. If f is well defined, find a formula for f(n) where n is non-
negative and prove that your formula is valid.
a. f(0) = 2,f(1) = 3, f(n) = f(n-1)-1 for n ≥ 2
b. f(0) = 1,f(1) = 2, f(n) = 2f (n-2) for n = 2
In C programming
Mathematically, given a function f, we recursively define fk(n) as follows: if k = 1, f1(n) = f(n). Otherwise, for k > 1, fk(n) = f(fk-1(n)). Assume that there is an existing function f, which takes in a single integer and returns an integer. Write a recursive function fcomp, which takes in both n and k (k > 0), and returns fk(n).
int f(int n);int fcomp(int n, int k){
Chapter 5 Solutions
EBK DATA STRUCTURES AND ALGORITHMS IN C
Ch. 5 - Prob. 1ECh. 5 - Prob. 2ECh. 5 - Prob. 3ECh. 5 - Prob. 4ECh. 5 - Prob. 5ECh. 5 - Prob. 6ECh. 5 - Prob. 7ECh. 5 - Prob. 8ECh. 5 - Prob. 9ECh. 5 - Prob. 10E
Ch. 5 - Prob. 11ECh. 5 - Prob. 12ECh. 5 - Prob. 13ECh. 5 - Prob. 14ECh. 5 - Prob. 15ECh. 5 - Prob. 16ECh. 5 - Prob. 17ECh. 5 - Prob. 18ECh. 5 - Prob. 19ECh. 5 - Prob. 20ECh. 5 - Prob. 21ECh. 5 - Prob. 22ECh. 5 - Prob. 23ECh. 5 - Prob. 24ECh. 5 - Prob. 25ECh. 5 - Prob. 26ECh. 5 - Prob. 27ECh. 5 - Prob. 28ECh. 5 - Prob. 29ECh. 5 - Prob. 1PACh. 5 - Prob. 3PACh. 5 - Prob. 4PACh. 5 - Prob. 5PA
Knowledge Booster
Similar questions
- In programming, a recursive function calls itself. The classical example is factorial(n), which can be defined recursively as n*factorial(n-1). Nonethessless, it is important to take note that a recursive function should have a terminating condition (or base case), in the case of factorial, factorial(0)=1. Hence, the full definition is: factorial(n) = 1, for n = 0 factorial(n) = n * factorial(n-1), for all n > 1 For example, suppose n = 5: // Recursive call factorial(5) = 5 * factorial(4) factorial(4) = 4 * factorial(3) factorial(3) = 3 * factorial(2) factorial(2) = 2 * factorial(1) factorial(1) = 1 * factorial(0) factorial(0) = 1 // Base case // Unwinding factorial(1) = 1 * 1 = 1 factorial(2) = 2 * 1 = 2 factorial(3) = 3 * 2 = 6 factorial(4) = 4 * 6 = 24 factorial(5) = 5 * 24 = 120 (DONE) Exercise (Factorial) (Recursive): Write a recursive method called factorial() to compute the factorial of the given integer. public static int factorial(int n) The recursive algorithm is:…arrow_forwardSML programming Write a recursive function np(n) which takes a non negative n and generates a list of numbers from n+1 down to 0. You may assume that input of n is always valid. Must use identical function name and parameter(s). np(4)⟶[5,4,3,2,1,0]arrow_forward8. Ackerman's Function Ackermann's Function is a recursive mathematical algorithm that can be used to test how well a system optimizes its performance of recursion. Design a function ackermann(m, n), which solves Ackermann's function. Use the following logic in your function: If m = 0 then return n + 1 If n = 0 then return ackermann(m-1,1) Otherwise, return ackermann(m-1,ackermann(m,n-1)) Once you've designed yyour function, test it by calling it with small values for m and n. Use Python.arrow_forward
- Write a recursive function that takes as a parameter a nonnegative integer and generates the following pattern of stars. If the nonnegative integer is 4, then the pattern generated is: **** *** ** * ** *** ****arrow_forwardFor function addOdd(n) write the missing recursive call. This function should return the sum of all postive odd numbers less than or equal to n. Examples: addOdd(1) -> 1addOdd(2) -> 1addOdd(3) -> 4addOdd(7) -> 16 public int addOdd(int n) { if (n <= 0) { return 0; } if (n % 2 != 0) { // Odd value return <<Missing a Recursive call>> } else { // Even value return addOdd(n - 1); }}arrow_forwardExercise 1: The number of combinations CR represents the number of subsets of cardi- nal p of a set of cardinal n. It is defined by C = 1 if p = 0 or if p = n, and by C = C+ C in the general case. An interesting property to nxC calculate the combinations is: C : Write the recursive function to solve this problem.arrow_forward
- The following function f uses recursion:def f(n):if n <= 1return nelsereturn f(n-1) + f(n-2)5Let n be a valid input, i.e., a natural number. Which of the following functions returns the same result but without recursion? a) def f(n):a <- 0b <- 1if n = 0return aelsif n = 1return belsefor i in 1..nc <- a + ba <- bb <- creturn b b) def f(n):a <- 0i <- nwhile i > 0a <- a + i + (i-1)return a c) def f(n):arr[0] <- 0arr[1] <- 1if n <= 1return arr[n]elsefor i in 2..narr[i] <- arr[i-1] + arr[i-2]return arr[n] d) def f(n):arr[0..n] <- [0, ..., n]if n <= 1return arr[n]elsea <- 0for i in 0..na <- a + arr[i]return aarrow_forwardFor funX |C Solved xb Answer x+ CodeW X https://codeworko... 田) CodeWorkout X267: Recursion Programming Exercise: Cumulative Sum For function sumtok, write the missing recursive call. This function returns the sum of the values from1 to k. Examples: sumtok(5) -> 15 Your Answer: 1 public int sumtok(int k) { 2. } (0 => ) return 0; 3. } else { return > 6. { Check my answer! Reset Next exercise 1:09 AMarrow_forwardYour main task is to write a recursive function sierpinski() that plots a Sierpinski triangle of order n to standard drawing. Think recursively: sierpinski() should draw one filled equilateral triangle (pointed downwards) and then call itself recursively three times (with an appropriate stopping condition). It should draw 1 filled triangle for n = 1; 4 filled triangles for n = 2; and 13 filled triangles for n = 3; and so forth. Sierpinski.java When writing your program, exercise modular design by organizing it into four functions, as specified in the following API: public class Sierpinski { // Height of an equilateral triangle with the specified side length. public static double height(double length) // Draws a filled equilateral triangle with the specified side length // whose bottom vertex is (x, y). public static void filledTriangle(double x, double y, double length) // Draws a Sierpinski triangle of order n, such that the largest filled //…arrow_forward
- java C++ Ackermann’s FunctionAckermann’s Function is a recursive mathematical algorithm that can be used to test how well a computer performs recursion. Write a function A(m, n) that solves Ackermann’s Function. Use the following logic in your function:If m = 0 then return n + 1If n = 0 then return A(m−1, 1) Otherwise, return A(m−1, A(m, n−1))Test your function in a driver program that displays the following values:A(0, 0) A(0, 1) A(1, 1) A(1, 2) A(1, 3) A(2, 2) A(3, 2) SAMPLE RUN #0: ./AckermannRF Hide Invisibles Highlight: Show Highlighted Only The·value·of·A(0,·0)=·1↵ The·value·of·A(0,·1)=·2↵ The·value·of·A(1,·1)=·3↵ The·value·of·A(1,·2)=·4↵ The·value·of·A(1,·3)=·5↵ The·value·of·A(2,·2)=·7↵ The·value·of·A(3,·2)=·29↵arrow_forwardWrite a recursive function to generate nth fibonacci term in C programming. How to generate nth fibonacci term in C programming using recursion. Logic to find nth Fibonacci term using recursion in C programming. Fibonacci series is a series of numbers where the current number is the sum of previous two terms. For Example: 0, 1, 1, 2, 3, 5, 8, 13, 21, ... , (n-1th + n-2th) Example: Input: Input any number: 10 Output 10th Fibonacci term: 55 please use C languagearrow_forwardThe Polish mathematician Wacław Sierpiński described the pattern in 1915, but it has appeared in Italian art since the 13th century. Though the Sierpinski triangle looks complex, it can be generated with a short recursive function. Your main task is to write a recursive function sierpinski() that plots a Sierpinski triangle of order n to standard drawing. Think recursively: sierpinski() should draw one filled equilateral triangle (pointed downwards) and then call itself recursively three times (with an appropriate stopping condition). It should draw 1 filled triangle for n = 1; 4 filled triangles for n = 2; and 13 filled triangles for n = 3; and so forth. API specification. When writing your program, exercise modular design by organizing it into four functions, as specified in the following API: public class Sierpinski { // Height of an equilateral triangle whose sides are of the specified length. public static double height(double length) // Draws a filled equilateral…arrow_forward
arrow_back_ios
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning