Recall the hailstone sequence from an earlier assignment: the integer sequence t
ID: 3734319 • Letter: R
Question
Recall the hailstone sequence from an earlier assignment: the integer sequence that results from manipulating a positive integer value n as follows: . If n is even, divide it by 2 (using integer division) . If n is odd, multiply it by 3 and then add 1 Repeat this process until you reach 1. For example, starting with n-5, we get the sequence 5, 16, 8,4,2,1 If n 6, we get the sequence 6,3, 10,5, 16,8,4,2,1 of the hailstone sequence starting with n One possible recursive algorithm you can consider implementing is this:Explanation / Answer
def rec_hailstone_length(n): if n == 1: return 1 else: if n % 2 == 0: return 1 + rec_hailstone_length(n/2) else: return 1 + rec_hailstone_length(n*3 + 1) print(rec_hailstone_length(2596)) print(rec_hailstone_length(641)) print(rec_hailstone_length(3148)) print(rec_hailstone_length(1171)) print(rec_hailstone_length(779))
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.