Write a recursive function called collatz that takes in a single positive integer argument n and returns the list of numbers in the collatz sequence from n to 1, inclusive. For example, suppose your initial number was 5. Then the collatz sequence would be the following: The initial number is 5. 5 is odd, so the next number is 5*3 + 1 = 16 16 is even, so the next number is 16//2 = 8 8 is even, so the next number is 8//2 = 4 4 is even, so the next number is 4//2 = 2 2 is even, so the next number is 2//2 = 1 We have reached 1, so the sequence is complete, and the function would return the list [5,16,8,4,2,1]
Write a recursive function called collatz that takes in a single positive integer argument n and returns the list of numbers in the collatz sequence from n to 1, inclusive. For example, suppose your initial number was 5. Then the collatz sequence would be the following: The initial number is 5. 5 is odd, so the next number is 5*3 + 1 = 16 16 is even, so the next number is 16//2 = 8 8 is even, so the next number is 8//2 = 4 4 is even, so the next number is 4//2 = 2 2 is even, so the next number is 2//2 = 1 We have reached 1, so the sequence is complete, and the function would return the list [5,16,8,4,2,1]
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
In python
![The Collatz conjecture
(https://en.wikipedia.org/wiki/Collatz_conjecture) is an
unproven mathematical rule that says the following:
Take any positive integer n. If n is even, divide it by 2 to
get n/2 (use integer division so that you don't end up
with floating point numbers). If n is odd, multiply it by 3
and add 1 to obtain 3n + 1. Repeat the process
indefinitely, and eventually you will reach 1.
Write a recursive function called collatz that takes in
a single positive integer argument n and returns the list of
numbers in the collatz sequence from n to 1, inclusive.
For example, suppose your initial number was 5. Then
the collatz sequence would be the following:
The initial number is 5.
5 is odd, so the next number is 5*3 + 1 = 16
16 is even, so the next number is 16//2 = 8
8 is even, so the next number is 8//2 = 4
4 is even, so the next number is 4//2 = 2
2 is even, so the next number is 2//2 = 1
We have reached 1, so the sequence is complete, and the
function would return the list [5,16,8,4,2,1]
Hints:
You may assume that your function will only be
called with positive integers.
• This function returns a list, so both your base case
and your recursive case(s) need to return a list.
You will need to add elements to the front of the
list in this problem.
• Using list methods like .append or .insert can be
tricky in conjunction with recursion, so it might
be better to try using list concatenation using the
operator.
● For example, note that:
collatz (5)
[5]+[16,8,4,2,1]
Constraints:
=
[5]+collatz (16)
>>> collatz (1)
[1]
Examples:
>>> collatz (5)
[5, 16, 8, 4, 2, 1]
=
=
The collatz function must be implemented
using recursion. Do not use any loop constructs
(while or for), or any other strategy that does
not involve recursion.
[5,16,8,4,2,1]
>>> collatz (123)
[123, 370, 185, 556, 278, 139, 418, 209,
628, 314, 157, 472, 236, 118, 59, 178, 89,
268, 134, 67, 202, 101, 304, 152, 76, 38,
19, 58, 29, 88, 44, 22, 11, 34, 17, 52,
26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F77fc5231-144e-4658-a4e4-843a776de72b%2F5cd3fbf5-2651-4398-a387-441d66f0ced0%2F5qzyp3g_processed.jpeg&w=3840&q=75)
Transcribed Image Text:The Collatz conjecture
(https://en.wikipedia.org/wiki/Collatz_conjecture) is an
unproven mathematical rule that says the following:
Take any positive integer n. If n is even, divide it by 2 to
get n/2 (use integer division so that you don't end up
with floating point numbers). If n is odd, multiply it by 3
and add 1 to obtain 3n + 1. Repeat the process
indefinitely, and eventually you will reach 1.
Write a recursive function called collatz that takes in
a single positive integer argument n and returns the list of
numbers in the collatz sequence from n to 1, inclusive.
For example, suppose your initial number was 5. Then
the collatz sequence would be the following:
The initial number is 5.
5 is odd, so the next number is 5*3 + 1 = 16
16 is even, so the next number is 16//2 = 8
8 is even, so the next number is 8//2 = 4
4 is even, so the next number is 4//2 = 2
2 is even, so the next number is 2//2 = 1
We have reached 1, so the sequence is complete, and the
function would return the list [5,16,8,4,2,1]
Hints:
You may assume that your function will only be
called with positive integers.
• This function returns a list, so both your base case
and your recursive case(s) need to return a list.
You will need to add elements to the front of the
list in this problem.
• Using list methods like .append or .insert can be
tricky in conjunction with recursion, so it might
be better to try using list concatenation using the
operator.
● For example, note that:
collatz (5)
[5]+[16,8,4,2,1]
Constraints:
=
[5]+collatz (16)
>>> collatz (1)
[1]
Examples:
>>> collatz (5)
[5, 16, 8, 4, 2, 1]
=
=
The collatz function must be implemented
using recursion. Do not use any loop constructs
(while or for), or any other strategy that does
not involve recursion.
[5,16,8,4,2,1]
>>> collatz (123)
[123, 370, 185, 556, 278, 139, 418, 209,
628, 314, 157, 472, 236, 118, 59, 178, 89,
268, 134, 67, 202, 101, 304, 152, 76, 38,
19, 58, 29, 88, 44, 22, 11, 34, 17, 52,
26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images

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.Recommended textbooks for you

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

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