Learning when and how to use a while loop, Programming Languages

Assignment Help:

1.  A function that produces the Collatz sequence and counts the number of terms.

2.  A main function that calculates interesting values about the Collatz sequence.

1.The Collatz Sequence

1. The rules for the Collatz Sequence are pretty straight forward:

3.  Start with an integer n > 1.

4.  Given a current term n, if n is even, the next term is n=2, if it is odd, the next term is 3n + 1.

5. Repeat until the last term is 1.

For examples: starting with n = 3, we get the sequence 3, 10, 5, 16, 8, 4, 2, 1.

2. It is an open question as to whether or not the sequence always returns to one for every starting value.

2. To Do and Turn In

1. The end result will be a .m file containing the main function, the Collatz function, and possibly other supporting functions.

2. The Collatz function should have one input and one output, the input is the starting number n, and the output is the number of terms in the sequence (the Collatz length), including the last term of 1. So in the example above for n = 3, the Collatz length is 8.

3. As usual, the main function will be in charge. It should be in charge of getting all the results calculated and in printing the results.

4. There are 3 results you need to produce:

(a) The Collatz length for n = 2; 3; . . .; 20 in a nice table (of course!).

(b) The first integer n for which the Collatz length is greater than 500. Display the integer and it's Collatz length.

(c) The integer n between 1 and 100 (inclusive) with the largest value for the ratio of it's Collatz length to itself. Display the integer, it's Collatz length and the ratio.

5. You'll need to figure out what kind of loop you need to use in each case.

6. As before you can have the main function do all the work (except for what the Collatz function does), or you can have subfunctions that do all or part of the work. The main function should, in any case, be totally responsible for displaying all the results.

7. When you are done, comment it well and publish the results as a PDF. Submit the PDF.


Related Discussions:- Learning when and how to use a while loop

Define an example of switch statement, Define an Example of Switch Statemen...

Define an Example of Switch Statement? estimate(number) int number; /* Estimate a number as none, one, two, several, many */ {       switch(number) { case 0 :

Gridworld, how do I get my actor to spin

how do I get my actor to spin

Decision table, If it is a weekday and it is not a holiday, then you go to ...

If it is a weekday and it is not a holiday, then you go to work. However, if it is a weekday and it is a holiday, then what you do depends on the weather. If it is raining, you pla

Explain what the return value of fork-shell programming, Simple Shell ...

Simple Shell In this LAB, you will explore and extend a simple Unix shell interpreter. In doing so, you will learn the basics of system calls for creating and managing process

Python, Write a function lastfirst() that takes a list of strings as a para...

Write a function lastfirst() that takes a list of strings as a parameter. Each string in the list has the format ''Last, First'' where Last is a last name and First is a first nam

Software architecture, Select two different architecture styles to design a...

Select two different architecture styles to design and implement a software system and provide its Architecture Diagrams (implement the software with java)

Define functions with no arguments and no return values, Define Functions w...

Define Functions with no arguments and no return values? When a function has no arguments it doesn't receive any data from the calling function. Likewise, it doesn't return any

Recursion function, Use recursion to de ne a function position which has as...

Use recursion to de ne a function position which has as input an integer, a character and a string and returns the result of inserting the character in the string at the position s

Matlab error, n2=2:100; t=3; while t { g3(t)=(1/2)*(0.63)*(0.8....

n2=2:100; t=3; while t { g3(t)=(1/2)*(0.63)*(0.8.^(n2)); t=t+1; } g3(1)=0; g3(2)=0; what is wrong with the code above? it tells me that line: g3(t)=(1/2)

Non empty string - minimal unique substring, A non-empty string is called a...

A non-empty string is called a minimal unique substring of s if and only if it satisfies: (i) α occurs exactly once in s (uniqueness), (ii) all proper prefixes of occur at le

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd