З огляду на рядок введення S
, друкуйте, S
а потім не порожній роздільник наступним чином:
Крок 1:
S
має1/2
шанс бути надрукованим і1/2
шанс припинити програму.Крок 2:
S
має2/3
шанс бути надрукованим, і1/3
шанс припинити програму.Крок 3:
S
має3/4
шанс бути надрукованим, і1/4
шанс припинити програму.…
Крок
n
:S
маєn/(n+1)
шанс бути надрукованим, і1/(n+1)
шанс припинити програму.
Примітки
Рядок введення складається лише з символів, прийнятних для типу рядка вашої мови.
Можна використовувати будь-який не порожній роздільник, якщо він завжди однаковий. Очікується, що роздільник надрукується після останнього друку
S
до завершення програми.Програма має
1/2
шанс закінчитись перед тим, як щось надрукувати.Прийнятний новий рядок є прийнятним.
Ваша відповідь повинна зробити справжню спробу поважати описані ймовірності. Очевидно, що коли
n
великий, це буде все менше і менш правдою. Достатньо належного пояснення того, як обчислюються ймовірності у вашій відповіді (і чому вони поважають характеристики, нехтуючи псевдовипадковістю та проблемами великої кількості), достатньо.
Оцінка балів
Це код-гольф , тому найкоротша відповідь у байтах виграє.