Послідовність сегментованих чисел або простих чисел вимірювання ( OEIS A002048 ) - це послідовність чисел таким чином, що кожен член є найменшим додатним (більшим за нуль) числом, яке не може бути складено з суми попередніх послідовних чисел, з a(0) = 1
.
Приклад
Для обчислення a(7)
спочатку обчислюємо a(0->6) = [1, 2, 4, 5, 8, 10, 14]
. потім ми починаємо з нуля і переходимо через числа, поки не знайдемо одне, що не є сумою одного або кількох послідовних чисел у послідовності.
1 = 1
2 = 2
3 = 1 + 2
4 = 4
5 = 5
6 = 2 + 4
7 = 1 + 2 + 4
8 = 8
9 = 4 + 5
10 = 10
11 = 2 + 4 + 5
12 = 1 + 2 + 4 + 5
13 = 5 + 8
14 = 14
15 = ????
Оскільки п’ятнадцять не може бути здійснено шляхом підсумовування будь-якої послідовної послідовності, а кожне число менше може бути п’ятнадцять - це наступне число у послідовності. a(7) = 15
Завдання
Ваше завдання - взяти число (за допомогою стандартних методів) і вивести n-й член у цій послідовності (за допомогою стандартних методів виведення). Це код-гольф, і ви будете набрані як такі.
Випробування
0 -> 1
1 -> 2
2 -> 4
3 -> 5
4 -> 8
5 -> 10
6 -> 14
7 -> 15
8 -> 16
9 -> 21
()
щоб зробити його належною функцією. Часткове застосоване!!
- це розділ оператора, і його потрібно включити,()
щоб зробити його функцією. Без цього просто фрагмент, який лише стає функцією (або "значенням" для використання строгих термінів Haskell) з відсутнім аргументом.