2.6 KiB
id | challengeType | title | videoUrl | localeTitle |
---|---|---|---|---|
5900f4811000cf542c50ff94 | 5 | Problem 277: A Modified Collatz sequence | Задача 277: Измененная последовательность Collatz |
Description
an + 1 = an / 3, если an делится на 3. Мы будем обозначать это как большой шаг вниз, «D».
an + 1 = (4an + 2) / 3, если деленная на 3 дает остаток от 1. Мы будем обозначать это как восходящий шаг «U».
an + 1 = (2an - 1) / 3, если деленная на 3 дает остаток от 2. Мы будем обозначать это как небольшой шаг вниз «d».
Последовательность завершается при некотором an = 1.
Для любого целого числа мы можем перечислить последовательность шагов. Например, если a1 = 231, то последовательность {an} = {231,77,51,17,11,7,10,14,9,3,1} соответствует этапам «DdDddUUdDD».
Конечно, есть и другие последовательности, начинающиеся с той же последовательности «DdDddUUdDD ....». Например, если a1 = 1004064, то последовательностью является DdDddUUdDDDUDUDUUdDdUUDDDUdDD. Фактически, 1004064 является наименьшим возможным a1> 106, которое начинается с последовательности DdDddUUdDD.
Каков самый маленький a1> 1015, который начинается с последовательности «UDDDUdddDDUDDddDdDddDDUDDdUUDd»?
Instructions
Tests
tests:
- text: <code>euler277()</code> должен вернуть 1125977393124310.
testString: 'assert.strictEqual(euler277(), 1125977393124310, "<code>euler277()</code> should return 1125977393124310.");'
Challenge Seed
function euler277() {
// Good luck!
return true;
}
euler277();
Solution
// solution required