Создайте программу cat, то есть программу, которая принимает входные данные и печатает их.
... Кроме того, программа будет случайным образом забирать символы из вашего ввода и печатать их вместо этого.
Каждый символ на входе должен иметь равные шансы для удаления с помощью программы, хотя, поскольку это трудно сделать, шансы для каждого символа могут варьироваться не более чем на 10%.
Ваша программа должна принять ввод, затем случайным образом удалить символы из ввода, а затем снова распечатать эту версию. (Вы можете печатать с последующими символами новой строки или другими символами, если ваш язык должен печатать символы новой строки.)
Если вход был BOOOWL
, он не должен удалять все Os с равной вероятностью: каждый символ (не уникальный) должен рассматриваться, поэтому вместо каждого объединенного O, имеющего шанс 1/5 (например), каждый O должен иметь 1 / 5 шансов, так что , вместо того , чтобы там быть 1/5 шанс BWL
, должно быть 1/5 шанс BOWL
, BOOWL
.
Вход ограничен STDIN или ближайшим эквивалентом.
Каждый персонаж должен иметь минимум 10% и максимум 30% вероятности быть удаленным.
Шансы каждого персонажа должны рассчитываться индивидуально.
Вы можете использовать любой компонент вашего языка, поддерживающий случайные действия, будь то функции или что-то другое.
Вывод должен быть через STDOUT или ближайший эквивалент. Если на вашем языке есть STDOUT, не выводите другим способом. Если ваш язык не может выводить строки в виде текста, используйте ближайший эквивалент (вывод массива символов C в порядке).
Это код гольф. Кратчайшая программа выигрывает.
BOWL OF SOUP
могут O
быть удалены все за один раз?
Output must be through STDOUT, as a text. Do not output a character array.
<- у меня есть язык, который позволяет выводить массив символов (он выравнивается перед выводом). Это запрещено? Как насчет языков, таких как C, где строка - это в основном массив символов?