Implement function generateSequence(startNumber, factor, offset, stopNumber) tha
ID: 3787493 • Letter: I
Question
Implement function generateSequence(startNumber, factor, offset, stopNumber) that generates a sequence of numbers as follows. The sequence starts with startNumber. Let currNumber represent the current number in the sequence. Then, until the currNumber is equal to stopNumber, the following rule is used to update currNumber:
-if currNumber is even, the next number is currNumber / 2.
-if currNumber is odd, then next number is ((currNumber * factor) + offset)
Assume all inputs are positive integers and that startNumber is greater than or equal to stopNumber. generateSequence should 1) print each number of the sequence on a separate line, and 2) print information about the length of the sequence (i.e. the number of numbers generated in the sequence). Your function should use a single while loop.
>>> generateSequence(5, 3, 3, 3)
5
18
9
30
15
48
24
12
6
3
Length of sequence: 10
>>> generateSequence(5, 3, 1, 1)
5
16
8
4
2
1
Length of sequence: 6
Explanation / Answer
the following function in Python gives you the required functionality:
# your code goes here
def generateSequence(startNumber, factor, offset, stopNumber):
len = 1
currNumber = startNumber
print(currNumber)
while (currNumber!=stopNumber):
len = len + 1
if(currNumber%2 == 0):
currNumber = currNumber//2
else:
currNumber = (currNumber*factor)+offset
print(currNumber)
print("Length of Sequence: "+str(len))
generateSequence(5,3,3,3)
Input:
generateSequence(5,3,3,3)
Output
5
18
9
30
15
48
24
12
6
3
Length of Sequence: 10
Input:
generateSequence(5,3,1,1)
Output:
5
16
8
4
2
1
Length of Sequence: 6
Code URL:
http://ideone.com/U0QGP6
Hope it helps, do give your response
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.