Рассмотрим строку длиной N, например, Peanut Butter
с N = 13. Обратите внимание, что в строке есть N-1 пар соседних символов. Ибо Peanut Butter
первая из 12 пар есть Pe
, вторая - ea
последняя er
.
Когда пары в основном разные символы, строка имеет короткое качество, например chUnky
.
Когда эти пары в основном одинаковые символы, строка имеет плавное качество, например sssmmsss
.
Определите размер строки как отношение количества пар с двумя разными символами к общему количеству пар (N-1).
Определите гладкость строки как отношение количества пар с двумя одинаковыми символами к общему количеству пар (N-1).
Например, Peanut Butter
имеет только одну пару с одинаковыми символами ( tt
), поэтому его гладкость равна 1/12 или 0,0833, а его толщина равна 11/12 или 0,9167.
Пустые строки и строки только с одним символом определены как 100% гладкие и 0% короткие.
Вызов
Напишите программу, которая принимает строку произвольной длины и выводит либо ее размерность, либо коэффициент гладкости в качестве значения с плавающей запятой.
- Возьмите ввод через стандартный ввод или командную строку, или вы можете написать функцию, которая принимает строку.
- Можно предположить, что входная строка содержит только печатаемые символы ASCII (и, следовательно, является однострочной).
- Выведите число с плавающей запятой на стандартный вывод в 4 или более десятичных разрядах, или вы можете вернуть его, если написали функцию. Десятичные знаки, не содержащие никакой информации, не требуются, например,
0
вместо0.0000
. - Выберите размер или гладкость, как вы предпочитаете. Только не забудьте сказать, какая из ваших программ выводит.
Самый короткий код в байтах побеждает.
Примеры
Peanut Butter
→ Chunkiness: 0.91666666666
Гладкость: 0.08333333333
chUnky
→ Chunkiness: 1.0
Гладкость: 0.0
sssmmsss
→ Chunkiness: 0.28571428571
Гладкость: 0.71428571428
999
→ Chunkiness: 0.0
Гладкость: 1.0
AA
→ Chunkiness: 0.0
Гладкость: 1.0
Aa
→ Chunkiness: 1.0
Гладкость: 0.0
!
→ Chunkiness: 0.0
Гладкость: 1.0
[пустая строка] → Chunkiness: 0.0
, Гладкость:1.0
Бонусный вопрос: что вы предпочитаете , короткие или гладкие струны ?