Нормальный алгоритм Маркова
Помогите составить нормальный алгоритм Маркова (НАМ):
Входное слово НАМ представляет собой последовательность символов в алфавите {d,e,f}. Если слово нечетной длины, найти центральный символ и заменить его на символ «*». Если слово четной длины, вставить символ «*» в середину слова. Например, ddeed => dd*ed, fedd => fe*dd.
По дате
По рейтингу
Получилось вот такое извращение.
1234567891011121314151617181920212223
1d2 -> * .
1e2 -> * .
1f2 -> * .
12 -> * .
0d -> d0
0e -> e0
0f -> f0
0 -> 2
3d2 -> 2d
3e2 -> 2e
3f2 -> 2f
3d -> d3
3e -> e3
3f -> f3
1d -> d13
1e -> e13
1f -> f13
-> 10
Точка - остановить НАМ. В разных эмуляторах остановка обозначается по-разному. Например, в https://cmcmsu.info/1course/alg.schema.nam.htm вместо:
1234
1d2 -> * .
1e2 -> * .
1f2 -> * .
12 -> * .
будет:
1234
1d2 => *
1e2 => *
1f2 => *
12 => *
найти длину слова, если нечетная - заменить центральный символ на *, если четная - вставить * посередине, завершить замену
Больше по теме