Враховуючи скінченну арифметичну послідовність натуральних чисел з деякими членами, вилученими з середини, реконструюйте всю послідовність.
Завдання
Розглянемо арифметичну послідовність: список натуральних чисел, у яких різниця між будь-якими двома послідовними елементами однакова.
2 5 8 11 14 17
Тепер припустимо, що одне або більше цілих чисел вилучається з послідовності з дотриманням наступних обмежень:
- Вилучені цілі числа будуть послідовними умовами послідовності.
- Перше і останнє цілі числа в послідовності не будуть видалені.
- Принаймні три цілі числа залишаться в послідовності.
Для вищезазначеної послідовності можливі видалення включають:
2 5 8 14 17 (removed 11)
2 5 17 (removed 8 11 14)
2 14 17 (removed 5 8 11)
Ваше завдання: Давши одну з цих часткових послідовностей, реконструюйте початкову повну послідовність.
Деталі
Ви можете припустити, що введення є дійсним (має рішення) і не містить хоча б одного терміна. Всі числа в послідовності будуть додатними (> 0) цілими числами. Послідовність може мати позитивну або негативну різницю між термінами (тобто вона може збільшуватися або зменшуватися). Це не буде постійною послідовністю (наприклад 5 5 5
).
Ваше рішення може бути повноцінною програмою або функцією . Будь-який із методів введення та виведення за замовчуванням є прийнятним.
Вхід і вихід можуть бути рядком (з будь-яким розумним роздільником), списком рядків або списком чисел. Ви можете представляти цифри в будь-якій базі, яка зручна для вашої мови.
Будь ласка, вкажіть будь-які незвичайні методи / формати вводу-виводу у форматі, щоб інші могли легше перевірити ваш код.
Тестові справи
In: 2 5 8 14 17
Out: 2 5 8 11 14 17
In: 2 5 17
Out: 2 5 8 11 14 17
In: 2 14 17
Out: 2 5 8 11 14 17
In: 21 9 6 3
Out: 21 18 15 12 9 6 3
In: 10 9 5
Out: 10 9 8 7 6 5
In: 1 10 91 100
Out: 1 10 19 28 37 46 55 64 73 82 91 100
Це код-гольф ; найкоротша відповідь на кожній мові виграє.
2 5 ... 17