Форум » Выполнение и анализ алгоритмов для исполнителей » 222 » Ответить

222

sas0ri: Здравствуйте. У меня есть кое-какие сомнения по поводу этого задания. Объясните решение как следует, пожалуйста. Само задание: К исходной строке, содержащей не более 100 единиц и не содержащей других символов, применили приведённую ниже программу. НАЧАЛО ПОКА нашлось (111) заменить (111, 2) заменить (222, 3) заменить (333, 1) КОНЕЦ ПОКА КОНЕЦ В результате получилась строка 321. Сколько различных значений количества единиц может быть в исходной строке? Мое решение: 321 --> 222 111 1, а что дальше? Это окончательный ответ? Или представить каждую двойку как три единицы? (но если это реализовать, то получается строка 2 2 2 2 1, являющаяся неверной).

Ответов - 1

polyakovss: Здравствуйте, sas0ri! 1) Минимальное количество "1" для получения результирующей строки 321, очевидно, равно 13 (9 "1" --> 3, 3 "1" --> 2 и одна "1" остается). 2) 27 "1" превращаются в одну "1". Значит, чтобы в строке снова было 13 единиц, нужно еще 12 единиц. То есть в исходной строке должно быть 39 "1". 3) Разница с первым случаем равна 39 - 13 = 26. Поэтому 321 получим, если в строке будет 39 +26 = 65 и 65 + 26 = 91 "1". Таким образом, чтобы в результате работы программы получилась строка 321, в исходной строке должно быть 13, 39, 65, 91 "1". Всего 4 различных значения количества единиц. Ответ: 4.



полная версия страницы