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
Using 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 even
Using recursion, write a Java program that takes an input ‘n’ (a number) 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 even
Your solution must implement recursion to receive points for this question.
Language: C
Using the recursion, show all different ways to represent an integer N as sum of non-zero natural numbers. For example, for N = 3, you have the following possibilities: 3, 2 + 1, 1 + 2, 1 + 1 + 1.
Problem 2
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 Tower of Hanoi is a puzzle where n disks of different sizes arestacked in ascending order on one rod and there are two other rods with nodisks on them. The objective is to move all disks from the first rod to thethird, such that:- only one disk is moved at a time- a larger disk can never be placed on top of a smaller oneWrite a recursive function that outputs the sequence of steps needed tosolve the puzzle with n disks.Write a test program in C++ that allows the user to input number of disks andthen uses your function to output the steps needed to solve the puzzle.Hint: If you could move up n−1 of the disks from the first post to thethird post using the second post as a spare, the last disk could be moved fromthe first post to the second post. Then by using the same technique you canmove the n−1 disks from the third post to the second post, using the firstdisk as a spare. There! You have the puzzle solved. You only have to decidewhat the nonrecursive case is, what the recursive…arrow_forwardFibonacci sequence is given by the recursive relation:F(0) = 1 and F(1) = 1F(n) = F(n-1) + F(n-2)Ultimately, as discussed in lecture 6, Slide 23, it can be shown that: F(n) =1/√5 ((1+√5)/2)n - 1/√5((1-√5)/2)n The number (1+√5)/2 = 1.618 is called the Golden Ratio Clearly F(n) = O(2n).Write a recursive program like the one described in Lecture 5, Slide 32.Then, perform a numeric asymtotic analysis and try to determine a more precise asymptotic estimate of time needed to calculate F(n) (e.g., use a time function).Esentially, try to estimate/infer the tight bound, (f(n)). More details on Big O and in Lecture 5b.Upload both the program (upload your exact cpp, java, py file - source files) and a pdf file analyzing the output of your program.arrow_forwardImplement a recursive program that takes in a number and finds the square of that number through addition. For example if the number 3 is entered, you would add 3+3+3=9. If 4 is entered you would add 4+4+4+4=16. This program must be implemented using recursion to add the numbers together. I need the MIPS Code for the above.arrow_forward
- Which is the base case of the following recursion function: def mult3(n): if n == 1: return 3 else: return mult3(n-1) + 3 else n == 1 mult3(n) return mult3(n-1) + 3arrow_forwardDraw the recursion trace for the following algorithm, which is written in a pseudocode style: method6(int x, int y) { // returns integer if y=0, then return 1; else { int w = method6(x, y/3); // y/3 is integer division int z = w * x; if y is even, then z = z * 2 + 1; y = y + 1; end of if return z } // end of elsearrow_forwardPYTHON! Can someone explain this recursion problem? In my mind the ouput would be 19 because: 1st step: R(5) = -1 because (5-1)-5 then returns to top with -1 and since that is less than zero it returns 20 but subtracts the -1 it returned def R(n): if n<=0: return 20 return R(n-1) - n print(R(5))arrow_forward
- 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 = 6arrow_forwardGiven a positive integer 'n', find and return the minimum number of steps that 'n' has to take to get reduced to 1. You can perform any one of the following 3 steps:1.) Subtract 1 from it. (n = n - 1) ,2.) If its divisible by 2, divide by 2.( if n % 2 == 0, then n = n / 2 ) ,3.) If its divisible by 3, divide by 3. (if n % 3 == 0, then n = n / 3 ). Write brute-force recursive solution for this.Input format :The first and the only line of input contains an integer value, 'n'.Output format :Print the minimum number of steps.Constraints :1 <= n <= 200 Time Limit: 1 secSample Input 1 :4Sample Output 1 :2 Explanation of Sample Output 1 :For n = 4Step 1 : n = 4 / 2 = 2Step 2 : n = 2 / 2 = 1 Sample Input 2 :7Sample Output 2 :3Explanation of Sample Output 2 :For n = 7Step 1 : n = 7 - 1 = 6Step 2 : n = 6 / 3 = 2 Step 3 : n = 2 / 2 = 1 SolutionDp///.arrow_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
- Consider the recursive procedure which computes the nth Fibonacci number is the one below. procedure Fl (n) //a function which returns the nth Fibonacci number.// if n < 2 then return(n) else return (F2(2,n,1,1)) endif end Fl procedure F2(i,n,x,y) if iarrow_forwardIn order to compute a power of two, you can take the next-lower power and double it. For example, if you want to compute 2^11 and you know that 2^10=1024, then 2^11=2×1024=2048. Write a recursive method public static int pow2(int n) where n is the exponent, that is based on this observation. If the exponent is negative, return -1. import java.util.Scanner; public class PowerTwo{ public static int pow2(int n) { /* code goes here */ } public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNextInt()) { int exponent = in.nextInt(); System.out.println(pow2(exponent)); } }}arrow_forwardWrite a program that performs the following functionalities:1. Fibonacci: a recursive function that computes the fibonacci series, which is defined as followsfibonacci (n) = fibonacci(n-2) + fibonacci(n-1)fibonacci(0) = 0fibonacci(1) = 1 So the fibonacci looks like: 0 1 1 2 3 5 8 13 21 34 …. Therefore, fibonacci(4) = 3, fibonacci(5) = 5, fibonacci(7)=13 2. Sum: a recursive function that computes the sum of integers 1, 2, 3, …., n for a given number n. So Sum(6) should return 1 + 2 + 3 + 4 + 5 + 6 , i.e. 21.sum(n) = n + sum(n-1) 3. Largest: a recursive function that computes the largest value for an integer array of positiveand negative values. For example, for the array below, the function largest should return 22,which is the largest value in the array. You can assume there are no more 20 integers in thearray. Think of how to formulate the recurrence relation in this problem yourself. 4. The 4th problem mimics the situation where eagles flying in the sky can be spotted and…arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
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
Computational Software for Intelligent System Design; Author: Cadence Design Systems;https://www.youtube.com/watch?v=dLXZ6bM--j0;License: Standard Youtube License