The 3n+ 1 problem is based on a famous sequence in mathematics that follows a very simple rule: • If the number is even, the next number in the sequence is its half, • If the number is odd, the next number in the sequence is three times the number plus one. In mathematical notation, the 3n+ 1 problem sequence is given as: an 2 if an is even = an+1 {3an +1 if an is odd It has been conjectured that for any positive integer number, the sequence will always end in 4, 2, 1. So, if the sequence starts with 7, the sequence is 7 22 11 34 17 52 26 13 40 20 10 5 16 8 421 In this task, you are required to write a program that takes as input two positive inputs, one for the start of the sequence, followed by an index. Your code must: Generate the above sequence inside a 1D array. Your code must stop when it reaches the last number (i.e., 1). • Your code must print the sequence number specified by the index. If the input index is larger than the sequence length, then the code outputs NA • Your code must also find and print the highest number the sequence reaches. • You must check if the inputs are positive numbers; otherwise, convert them to a positive number. • You must ensure if the start point is not a zero or one; otherwise, print out "Invalid" IMPORTANT NOTE • Do not add any cout statements except for the final answers as specified above. • Do not add "Enter a number", "the number of digits is" or any similar prompts. • Also note that the automatic grader is case-sensitive; so "na" is wrong but "NA" is correct. 11 . Do not add any unnecessary spaces inside the strings of cout statements " unless we ask you to. • You may add any libraries needed.
The 3n+ 1 problem is based on a famous sequence in mathematics that follows a very simple rule: • If the number is even, the next number in the sequence is its half, • If the number is odd, the next number in the sequence is three times the number plus one. In mathematical notation, the 3n+ 1 problem sequence is given as: an 2 if an is even = an+1 {3an +1 if an is odd It has been conjectured that for any positive integer number, the sequence will always end in 4, 2, 1. So, if the sequence starts with 7, the sequence is 7 22 11 34 17 52 26 13 40 20 10 5 16 8 421 In this task, you are required to write a program that takes as input two positive inputs, one for the start of the sequence, followed by an index. Your code must: Generate the above sequence inside a 1D array. Your code must stop when it reaches the last number (i.e., 1). • Your code must print the sequence number specified by the index. If the input index is larger than the sequence length, then the code outputs NA • Your code must also find and print the highest number the sequence reaches. • You must check if the inputs are positive numbers; otherwise, convert them to a positive number. • You must ensure if the start point is not a zero or one; otherwise, print out "Invalid" IMPORTANT NOTE • Do not add any cout statements except for the final answers as specified above. • Do not add "Enter a number", "the number of digits is" or any similar prompts. • Also note that the automatic grader is case-sensitive; so "na" is wrong but "NA" is correct. 11 . Do not add any unnecessary spaces inside the strings of cout statements " unless we ask you to. • You may add any libraries needed.
C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter8: Arrays And Strings
Section: Chapter Questions
Problem 21PE
Related questions
Question
C++
Chapter 7 - 1D Array - The 3n + 1 problem
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 4 steps with 7 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.Similar questions
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning