Feb-11-2019, 09:43 PM (This post was last modified: Feb-11-2019, 10:08 PM by TreasureDragon.)

Hi everyone,

So I figured out how to set up the technical aspect of the Collatz conjecture as well as making it print out the number of steps. However, I am required to print out everystep numerically ordered. So how do I attach a number in front to show which step it was? Here is an example of what we SHOULD have in total:

Enter a number : 22

1. 22 is even , divide in half : 11

2. 11 is odd , multiply by 3 and add 1: 34

3. 34 is even , divide in half : 17

4. 17 is odd , multiply by 3 and add 1: 52

5. 52 is even , divide in half : 26

6. 26 is even , divide in half : 13

7. 13 is odd , multiply by 3 and add 1: 40

8. 40 is even , divide in half : 20

9. 20 is even , divide in half : 10

10. 10 is even , divide in half : 5

11. 5 is odd , multiply by 3 and add 1: 16

12. 16 is even , divide in half : 8

13. 8 is even , divide in half : 4

14. 4 is even , divide in half : 2

15. 2 is even , divide in half : 1

Number of steps : 15

Largest number in sequence : 52

This is what I have that only calculates the process and states the number of steps:

Ok update: I figured out how to get the number to say what it is and the sequence but now I need help with ordering to see what the largest number was...

So I figured out how to set up the technical aspect of the Collatz conjecture as well as making it print out the number of steps. However, I am required to print out everystep numerically ordered. So how do I attach a number in front to show which step it was? Here is an example of what we SHOULD have in total:

Enter a number : 22

1. 22 is even , divide in half : 11

2. 11 is odd , multiply by 3 and add 1: 34

3. 34 is even , divide in half : 17

4. 17 is odd , multiply by 3 and add 1: 52

5. 52 is even , divide in half : 26

6. 26 is even , divide in half : 13

7. 13 is odd , multiply by 3 and add 1: 40

8. 40 is even , divide in half : 20

9. 20 is even , divide in half : 10

10. 10 is even , divide in half : 5

11. 5 is odd , multiply by 3 and add 1: 16

12. 16 is even , divide in half : 8

13. 8 is even , divide in half : 4

14. 4 is even , divide in half : 2

15. 2 is even , divide in half : 1

Number of steps : 15

Largest number in sequence : 52

This is what I have that only calculates the process and states the number of steps:

number = int(input("Enter a number: ")) steps = 0 while number > 1: if number % 2 == 0: number = number / 2 steps += 1 elif number % 2 == 1: number = number * 3 + 1 steps += 1 print(f"\nNumber of steps: {steps}") print(f"Largest number in sequence: {largest}")

Ok update: I figured out how to get the number to say what it is and the sequence but now I need help with ordering to see what the largest number was...