2018-09-30 23:01:58 +01:00
---
id: 5900f4811000cf542c50ff94
title: 'Problem 277: A Modified Collatz sequence'
2020-11-27 19:02:05 +01:00
challengeType: 5
2019-08-05 09:17:33 -07:00
forumTopicId: 301927
2021-01-13 03:31:00 +01:00
dashedName: problem-277-a-modified-collatz-sequence
2018-09-30 23:01:58 +01:00
---
2020-11-27 19:02:05 +01:00
# --description--
2021-07-24 09:09:54 +02:00
A modified Collatz sequence of integers is obtained from a starting value $a_1$ in the following way:
2018-09-30 23:01:58 +01:00
2021-07-24 09:09:54 +02:00
$a_{n + 1} = \frac{a_n}{3}$ if $a_n$ is divisible by 3. We shall denote this as a large downward step, "D".
2018-09-30 23:01:58 +01:00
2021-07-24 09:09:54 +02:00
$a_{n + 1} = \frac{4a_n + 2}{3}$ if $a_n$ divided by 3 gives a remainder of 1. We shall denote this as an upward step, "U".
2018-09-30 23:01:58 +01:00
2021-07-24 09:09:54 +02:00
$a_{n + 1} = \frac{2a_n - 1}{3}$ if $a_n$ divided by 3 gives a remainder of 2. We shall denote this as a small downward step, "d".
2018-09-30 23:01:58 +01:00
2021-07-24 09:09:54 +02:00
The sequence terminates when some $a_n = 1$.
2018-09-30 23:01:58 +01:00
2021-07-24 09:09:54 +02:00
Given any integer, we can list out the sequence of steps. For instance if $a_1 = 231$, then the sequence $\\{a_n\\} = \\{231, 77, 51, 17, 11, 7, 10, 14, 9, 3, 1\\}$ corresponds to the steps "DdDddUUdDD".
2018-09-30 23:01:58 +01:00
2021-07-24 09:09:54 +02:00
Of course, there are other sequences that begin with that same sequence "DdDddUUdDD....".
2018-09-30 23:01:58 +01:00
2021-07-24 09:09:54 +02:00
For instance, if $a_1 = 1004064$, then the sequence is DdDddUUdDDDdUDUUUdDdUUDDDUdDD.
In fact, 1004064 is the smallest possible $a_1 > {10}^6$ that begins with the sequence DdDddUUdDD.
What is the smallest $a_1 > {10}^{15}$ that begins with the sequence "UDDDUdddDDUDDddDdDddDDUDDdUUDd"?
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
# --hints--
2018-09-30 23:01:58 +01:00
2021-07-24 09:09:54 +02:00
`modifiedCollatzSequence()` should return `1125977393124310` .
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
```js
2021-07-24 09:09:54 +02:00
assert.strictEqual(modifiedCollatzSequence(), 1125977393124310);
2018-09-30 23:01:58 +01:00
```
2020-11-27 19:02:05 +01:00
# --seed--
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
## --seed-contents--
2018-09-30 23:01:58 +01:00
```js
2021-07-24 09:09:54 +02:00
function modifiedCollatzSequence() {
2020-09-15 09:57:40 -07:00
2018-09-30 23:01:58 +01:00
return true;
}
2021-07-24 09:09:54 +02:00
modifiedCollatzSequence();
2018-09-30 23:01:58 +01:00
```
2020-11-27 19:02:05 +01:00
# --solutions--
2018-09-30 23:01:58 +01:00
```js
// solution required
```