- Authors
- Fede Rozenberg

This extension needs a unit test. For now, run it as indicated at the end of this assignment.

So it turns out that numbers can feel things. We define a happy or sad number through this process:

- Split up the number into its digits.
- Square the digits and sum them.
- Repeat with the new sum until you reach a set of numbers that repeat or the number 1.
- If your process results in a repeating 1, your initial number was happy! Otherwise, it has fallen into a cycle of depression, characterized by the repeating numbers
`[4, 16, 37, 58, 89, 145, 42, 20, 4...]`How sad.

For example, starting with the number 15, our process yields:

- 1
^{2}+ 5^{2}= 26- 2
^{2}+ 6^{2}= 40- 4
^{2}+ 0^{2}= 16- 1
^{2}+ 6^{2}= 37- 3
^{2}+ 7^{2}= 58

Here you can see our number has fallen into the beginning stages of depression...

In this extension you will be designing a program that uses `sets` to find the sad cycle of a number for an arbitrary power.

In the `sadcycle` package of your
`extensions` folder, create a `SadCycler` class.

- Create a method
`Set<Long> findCycle(int base, long n)`that takes in a number`n`and either returns a`Set<Long>`with the`base`-sad cycle for`n`or with 1 as its only element.A

`long`is simply twice as long as an`int`. I recommend using it here because some of the numbers found in higher`base`-sad cycles can be quite large. - Feel free to create any other methods you might need.
I highly recommend partitioning the splitting of digits, raising to the power of

`base`, and summing into one method. The trick here is figuring out how to treat every digit in a number as its own entity. - Test your program on inputs you find documented here. Show these results to a TA and convince him or her they are right for credit on this assignment.

When you done with this extension, you must be cleared by the TA to receive credit.

- Commit and push all your work to your repository
- Fill in the form below with the relevant information
- Have a TA check your work
- The TA should check your work and then fill in his or her name
- Click
OKwhile the TA watches- If you request propagation, it does not happen immediately, but should be posted in the next day or so

This demo box is for extension 8.1