Моя дочка мала наступне завдання для виконання математичних домашніх завдань. Уявіть, що шість друзів, що живуть на лінії, названої E, F, G, H, J і K. Їх позиції на лінії вказані нижче (не в масштабі):
Таким чином, F живе п'ять одиниць від E, а дві одиниці від G тощо.
Ваше завдання: складіть програму, яка визначає шлях, який відвідує кожного друга точно один раз загальною довжиною n одиниць, беручи розташування друзів та n як вхідні дані. Він повинен повідомити шлях, якщо він його знайде (наприклад, для довжини 17 він може повідомити "E, F, G, H, J, K", і він повинен вийти витончено, якщо не існує рішення. Для чого це варто, я завершив нерозбірливе рішення в Mathematica в 271 байт. Я підозрюю, що це можливо набагато більш стисло, ніж це.
"[0, 5, 7, 13, 16, 17], 62"
і вихід "(7, 16, 0, 17, 5, 13)"
добре?
[0, 5, 7, 13, 16, 17]
та62
), щоб ви могли переконатися, що це не конкретно жорстко закодовано в цьому випадку.