Concept explainers
Explanation of Solution
Recursive function for “handshake” function:
The recursive function definition for “handshake” function is shown below:
//Function definition for "handshake" function
int handshake(int n)
{
/* If "n" is equal to "1", then */
if(n == 1)
//Returns "0"
return 0;
/* If "n" is equal to "2", then */
else if(n == 2)
//Returns "0"
return 1;
//Otherwise
else
/* Recursively call the function "handshake" with subtracting the value of "n" with "1" */
return n - 1 + handshake(n - 1);
}
Explanation:
The above function is used to compute the number of handshakes in a room using recursive function.
- In this function, If the value of “n” is equal to “1”, then returns “0”.
- If the value of “n” is equal to “2”, then returns “1”.
- Otherwise, that is if the value of “n” is greater than “2”, then returns the value by “n - 1 + handshake(n - 1)”...
Want to see the full answer?
Check out a sample textbook solutionChapter 14 Solutions
Problem Solving with C++ plus MyProgrammingLab with Pearson eText-- Access Card Package (9th Edition)
- Implement a recursive C++ function which takes a character (ch) and a positive integer (n) and prints thecharacter ch, n times on the screen. The prototype of your function should be:void printChar (char ch, int n)For example, calling printChar('*',5) should display ***** on screen.Note: There should NOT be any loop in your function.arrow_forwardWrite a recursive function that takes as a parameter a nonnegative integer and generates the following pattern of stars. If the nonnegative integer is 4, the pattern generated is as follows: **** *** ** * * ** *** **** Also, write a program that prompts the user to enter the number of lines in the pattern and uses the recursive function to generate the pattern. For example, specifying 4 as the number of lines generates the preceding pattern.arrow_forwardWrite a recursive function int fib (int n) to compute the Fibonacci numbers where n is a positive integer.Write an application (main() function) using command line parameters that calls fib(n) and outputs n,fin(n), fib(n)*1.0/fib(n-1) for n = 3,4,5,6,7,8,9,10,11,12,13,14,15In a format fprintf (stdout,“n = %d\tfib(n) = %d\tfib(n)/fib(n-1) = %.4f\n”, n, fib(n), fib(n)*1.0/fib(n-1))The ratio of fib(n) to fib(n-1) for large values of n (larger than say 10) is called the golden ratio.Plot a curve between n and golden ratio.Submit the assignment by dropping the MS word file containing the program code, results (take a screenshot of the Cygwin/ubantu) and paste to the word file in Carrow_forward
- Write a recursive function that returns true if the digits of a positive integer are in increasing order; otherwise, the function returns false. Also, write a program to test your function.arrow_forwardHi can check my code below and see whether it has meet the following, if not kindly assist and correct it for me. a). Recursive function in Java that accepts an integer as input and returns 1 + 1/2 + 3 + 1/4 + ...(n or 1/n). b). The answer is the sum of the odd integers from 1 to n plus the sum of the reciprocals of the even integers. Thank you. public class Main {public static double sum(int n) {if (n <= 0) {return 0;} else if (n % 2 == 0) {return 1.0 / n + sum(n - 1);} else {return n + sum(n - 1);}}public static void main(String[] args) {System.out.println(sum(5));}}arrow_forwardc++ Implement a function that recursively calculates the nth number in the Fibonacci sequence of numbers. The Fibonacci sequence starts at 0 and 1. Each number thereafter is the sum of the two preceding numbers. This gives us the following first ten numbers: 0,1,1,3,5,8,13,21,34, .... Input Expected output0 01 17 139 34arrow_forward
- The goal is to rewrite the function, below, such that passes in a different list of parameters, particularly eliminating the need to pass low and high for each recursive call to binary_search. defbinary_search(nums,low,high,item): mid=(low+high)//2iflow>high:returnFalse #The item doesn't exist in the list!elifnums[mid]==item:returnTrue# The item exists in the list!elifitem<nums[mid]:returnbinary_search(nums,low,mid-1,item)else:returnbinary_search(nums,mid+1,high,item) The new function should be prototyped below. The number of changes between the given version, and the one requested is not significant. defbinary_search(nums,item):pass# Remove this and fill in with your code Tip: If you consider that high and low are used to create a smaller version of our problem to be processed recursively, the version requested will do the same thing, just through a different, more Pythonic technique.arrow_forwardConsider the following function: void fun_with_recursion(int x) { printf("%i\n", x); fun_with_recursion(x + 1); } What will happen when this function is called by passing it the value 0?arrow_forward1.The following is the C code that you need to implement for this lab: uint8_ t f(uint8_tn) return(n<2)?(n):(f(n-1)+f(n-2)); The main function can be assumed as follows: int main() uint8_ t x; x=f(???); return 0; Obviously, " ? ? ? " is representing a value used to test the algorithm! Is "f"recursive? a.No answer text provided. b.Yes c.no d.depends on whether it is in for main 2.First, make the code in the previous question an actual C program so that it can be compiled and it runs. Play with it so that you feel comfortable with the logic of the code. Then implement the code in TTPASM. Note that you need to preserve the actual C code structure, this means you cannot it into a non-recursive subroutine. Furthermoreall conventions discussed in class regarding subroutines must be followed. The idea is that I should be able to substitute f with my own code, and main should work. Or, I can substitute main with my own, and f should work. Attach the source code of your assembly…arrow_forward
- The 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_forwardWrite a recursive void function that has one parameter that is a positive integer. When called, the function writes its argument to the screen backward. That is,, if the argument is 1234, it outputs the following to the screen: 4321. I've literally tried to create this program and I have no idea how to make it work. Please help me. Is it possible to explain line by line what the code does?arrow_forwardBelow,enter code to complete implementation of a recursive function sum_all_integers(), which takes an input n and adds all intergers preceding it, up to n: add_all_integers(n):arrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning