Python Programming: An Introduction to Computer Science, 3rd Ed.
3rd Edition
ISBN: 9781590282755
Author: John Zelle
Publisher: Franklin, Beedle & Associates
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 13, Problem 7PE
Program Plan Intro
Computing efficiency
Program plan:
- Import required files.
- Call the function “setrecursionlimit()” to set limit.
- Define a function “factorial()”.
- Set the value of “fact” equal to 1
- Iterate a for loop.
- Set the value of “fact”.
- Return the value of “fact”.
- Define a function “iterative_options()”.
- Declare a variable “x” and set with value of “factorial(n)”.
- Declare a variable “x” and set the value.
- Return the value “x/y”.
- Define a function “recursive_options()”.
- If the condition “k == 1”is true.
- set the value of “options” as n.
- Checking another condition “n < k”.
- set the value of “options” as 0.
- If the conditions failed.
- Set the value of options using function “recursive_options()”.
- Return the value of “options”.
- If the condition “k == 1”is true.
- Define the “main()” function.
- Print the value using “iterative_options()”.
- Print the value using “recursive_options()”.
- Call the “main()” function.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
The “odd/even factorial” of a positive integer n is represented as n!! and is defined recursively as: a. (n)*(n-2)*(n-4)………*(2) if n is even. For example, 6!! = 6*4*2 = 48 b. (n)*(n-2)*(n-4)*…….*(5)*(3)*(1) if n is odd. For example, 7!! = 7*5*3*1 = 105. Come up with a recursive definition for n!! and use it to guide you to write a method definition for a method called “oddevenfact” that recursively calculates the odd/even factorial value of its single int parameter. The value returned by “oddevenfact” is a long.
In mathematics, a prime number is a natural number greater than 1 that is not a product of two smaller natural numbers, i.e. is it has only two factors 1 and itself. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime because the only ways of writing it as a product, 1 × 5 or 5 × 1, involve 5 itself.Note that the prime number series is: 2, 3, 4, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, …a. Write a Java method named isPrime that takes a natural number as a parameter and returns the if the given number is prime or not using the following header: Public static boolean isPrime(int num) b. Write a Java class called PrimeNumbers that: o Reads from the user a natural value n (should be less than or equal 200). o Prints a list of the prime numbers from 2 to n and their number and values. o The program has to work EXACTLY as given in the following sample run.
One of the most common examples of recursion is an algorithm to calculate the factorial of an integer. The notation n! is used for the factorial ofthe integer n and is defined as follows:0! is equal to 11! is equal to 12! is equal to 2 × 1 = 23! is equal to 3 × 2 × 1 = 6
Chapter 13 Solutions
Python Programming: An Introduction to Computer Science, 3rd Ed.
Ch. 13 - Prob. 1TFCh. 13 - Prob. 2TFCh. 13 - Prob. 3TFCh. 13 - Prob. 4TFCh. 13 - Prob. 5TFCh. 13 - Prob. 6TFCh. 13 - Prob. 7TFCh. 13 - Prob. 8TFCh. 13 - Prob. 9TFCh. 13 - Prob. 10TF
Ch. 13 - Prob. 1MCCh. 13 - Prob. 2MCCh. 13 - Prob. 3MCCh. 13 - Prob. 4MCCh. 13 - Prob. 5MCCh. 13 - Prob. 6MCCh. 13 - Prob. 7MCCh. 13 - Prob. 8MCCh. 13 - Prob. 9MCCh. 13 - Prob. 10MCCh. 13 - Prob. 1DCh. 13 - Prob. 2DCh. 13 - Prob. 3DCh. 13 - Prob. 4DCh. 13 - Prob. 5DCh. 13 - Prob. 1PECh. 13 - Prob. 2PECh. 13 - Prob. 3PECh. 13 - Prob. 4PECh. 13 - Prob. 5PECh. 13 - Prob. 6PECh. 13 - Prob. 7PE
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
- The first examples of recursion are the mathematical functions factorial and fibonacci. These functions are defined for non-negative integers using the following recursive formulas:factorial(0) = 1factorial(N) = N*factorial(N-1) for N > 0fibonacci(0) = 1fibonacci(1) = 1fibonacci(N) = fibonacci(N-1) + fibonacci(N-2) for N > 1Write recursive functions to compute factorial(N) and fibonacci(N) for a given non-negative integer N, and write a main() routine to test your functions.(In fact, factorial and fibonacci are really not very good examples of recursion, since the most natural way to compute them is to use simple for loops. Furthermore, fibonacci is a particularly bad example, since the natural recursive approach to computing this function is extremely inefficient.)arrow_forwardUsing recursion, write a Java program that takes an input ‘n’ (a number) ( user should gives the n value if user asks fibonacci series of 20 then it should display 20 numbers of fibonacci)from a user to calculate and print out the Fibonacci using the following modified definition: F(N) = 1 if n = 1 or n = 2 = F((n+1)/2)2 + F((n-1/2)2 if n is odd = F(n/2 + 1)2 – F(n/2 – 1)2 if n is evenarrow_forwardIn this problem, you will write different programs to x^N, where x ∈ R, n ∈ N. b) Devise a recursive algorithm to compute x^n , using the fact that x^n= x ⋅ x^n−1 .arrow_forward
- Ackermann’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 + 1 If 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)arrow_forwardIn mathematics, a prime number is a natural number greater than 1 that is not a product of two smaller natural numbers, i.e. is it has only two factors 1 and itself. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime because the only ways of writing it as a product, 1 × 5 or 5 x 1, involve 5 itself. Note that the prime number series is: 2, 3, 4, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, .. a. Write a Java method named isPrime that takes a natural number as a parameter and returns the if the given number is prime or not using the following header: Public static boolean isPrime (int num) b. Write a Java class called PrimeNumbers that: Reads from the user a natural value n (should be less than or equal 200). Prints a list of the prime numbers from 2 to n and their number and values. The program has to work EXACTLY as given in the following sample run. Hints: You should create a single dimension array to store the prime…arrow_forwardLet n be a positive integer and let MaxCrossing(n) be a function that returns the maximum number of line crossings that you can create by drawing n straight lines. Write down a recursive formula for MaxCrossing(n) and analyze the time complexity of the corresponding recursive algorithm. You must write a formal recursive formula including the base case and general recursive step. Note: if n=1, there is 0 crossing, if n = 2, there is 1 crossing, if n = 3, there are 3 crossings (not only 2) if n = 4, there are 6 crossings (not only 3) if n = 5, there are 10 crossings, etc.arrow_forward
- PHP A factorial of any given integer, n , is the product of all positive integers between 1 and n inclusive. So the factorial of 4 is 1 × 2 × 3 × 4 = 24, and the factorial of 5 is 1 × 2 × 3 × 4 × 5 = 120. This can be expressed recursively as follows: ❑ If n == 0, return 1. (This is the base case) ❑ If n > 0, multiply numbers from n down to 1. Write a PHP function to display the factorials of the integers up to the given value(argument). Any format could be used for displaying. Write the recursive version of the same function to display the factorials of the integers up to the given value(argument). Any format could be used for displaying.arrow_forwardA piece of code implementing a recursive algorithm has been produced, and a student has analysed the recurrences. They have produced the recurrence equations as shown below: T(n) = T(n − 2) + 2(n − 2) + C₁ T(2) = C₂ So the recursive algorithm features a base case when the size of the problem is n = 2. The values of c₁ and ₂ are constants. You should assume the initial value of n (the size of the problem) is divisible by 2. Determine the running time complexity of this recursive algorithm. your analysis should be as complete as possible. To get an idea of how to perform a complete analysis, refer to the example recursive algorithm analysis on Canvas. You can verify your analysis by modelling the recurrence equations in a program like Excel or MATLAB. Your answer must include: (b) A clear statement of the generalisation of that pattern to k iterations of the recursive step. (c) A statement of the number of iterations required to solve a problem of size n. (d) A statement of the final…arrow_forwardImplement a program that reads two integers (n and k). The program must output the binomial coefficient as follows: Print every coefficient that is before binomial coefficient for given k; Example: Insert n: 5 Insert k: 3 Result: 10 Coefficient-array: 1 5 10 10 Print Pascal Triangle for the given n: Example (n=5): 1 11 121 1331 14641 15 10 10 5 1arrow_forward
- A piece of code implementing a recursive algorithm has been produced, and a student has analysed the recurrences. They have produced the recurrence equations as shown below: T(n) = T(n − 2) + 2(n − 2) + C₁ T(2) = C₂ So the recursive algorithm features a base case when the size of the problem is n = 2. The values of c₁ and c₂ are constants. You should assume the initial value of n (the size of the problem) is divisible by 2. Determine the running time complexity of this recursive algorithm. your analysis should be as complete as possible. To get an idea of how to perform a complete analysis, refer to the example recursive algorithm analysis on Canvas. You can verify your analysis by modelling the recurrence equations in a program like Excel or MATLAB. Your answer must include: (a) Evidence of at least two cycles of substitutions to establish the running time function T(n). (b) A clear statement of the generalisation of that pattern to k iterations of the recursive step. (c) A statement…arrow_forwardComplete the following recursive method for computing the factorial of an integer. Assume that n is greater than or equal to 0. a. result = n * factorial(n - 1)b. result = n * factorial(n)c. result = factorial(n - 1)d. result = (n - 1) * factorial(n)e. result = (n - 1) * factorial(n - 1)arrow_forwardJAVA LANGUAGE The first examples of recursion are the mathematical functions factorial and fibonacci. These functions are defined for non-negative integers using the following recursive formulas:factorial(0) = 1factorial(N) = N*factorial(N-1) for N > 0fibonacci(0) = 1fibonacci(1) = 1fibonacci(N) = fibonacci(N-1) + fibonacci(N-2) for N > 1Write recursive functions to compute factorial(N) and fibonacci(N) for a given non-negative integer N, and write a main() routine to test your functions.(In fact, factorial and fibonacci are really not very good examples of recursion, since the most natural way to compute them is to use simple for loops. Furthermore, fibonacci is a particularly bad example, since the natural recursive approach to computing this function is extremely inefficient.) JAVA LANGUAGEarrow_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
Computational Software for Intelligent System Design; Author: Cadence Design Systems;https://www.youtube.com/watch?v=dLXZ6bM--j0;License: Standard Youtube License