известно что исходная строка начиналась с нуля и заканчивалась нулем
Известно что исходная строка начиналась с нуля и заканчивалась нулем
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка
исполнителя при этом не изменяется.
выполняется, пока условие истинно.
выполняется команда1 (если условие истинно).
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Дана программа для редактора:
ПОКА нашлось (01) ИЛИ нашлось (02) ИЛИ нашлось (03)
Известно, что исходная строка начиналась с нуля, а далее содержала только единицы, двойки и тройки. После выполнения данной программы получилась строка, содержащая 15 единиц, 10 двоек и 60 троек. Сколько единиц было в исходной строке?
Заметим, что порядок цифр в исходной строке не важен. Из строки «01» получается строка «30». Строка «02» сначала преобразуется в строку «101», а затем получается строка «130». Строка «03» сначала преобразуется в строку «202», затем преобразуется в строку «2101», после чего получается строка «2130».
Заметим, что после преобразования исходной строки получилась строка, содержащая 10 двоек. Значит, в исходной строке должно содержаться 10 троек, поскольку только строка «03» после всех преобразований в получившейся подстроке содержит двойку. Таким образом, если исходная строка начинается с нуля, а далее содержит 10 троек, то получившаяся строка будет содержать 10 двоек, 10 единиц и 10 троек.
Поскольку строка после выполнения также должна содержать 15 единиц, в исходной строке, помимо 10 троек, должно содержаться ещё 5 двоек, поскольку строка «02» преобразуется в строку «130».
Тогда, чтобы получившаяся строка содержала 60 троек, она также должна содержать ещё 45 единиц, поскольку строка «01» преобразуется в строку «30».
Известно что исходная строка начиналась с нуля и заканчивалась нулем
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка
исполнителя при этом не изменяется.
выполняется, пока условие истинно.
выполняется команда1 (если условие истинно).
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Дана программа для редактора:
ПОКА нашлось (01) ИЛИ нашлось (02) ИЛИ нашлось (03)
Известно, что исходная строка начиналась с нуля, а далее содержала только единицы, двойки и тройки. После выполнения данной программы получилась строка, содержащая 50 единиц, 12 двоек и 7 троек. Сколько единиц было в исходной строке?
Заметим, что порядок цифр в исходной строке не важен. Из строки «01» сначала получается строка «2302», а потом получается строка «2310». Строка «02» преобразуется в строку «10». Строка «03» сначала преобразуется в строку «201», затем преобразуется в строку «22302», после чего получается строка «22310».
Заметим, что после преобразования исходной строки получилась строка, содержащая 7 троек. Если в исходной строке было 7 единиц, тогда в получившейся строке будет 7 троек и 7 двоек, что не подходит, поскольку при добавлении в исходную строку троек в получившейся в результате преобразований строке не получить 12 двоек.
Если в исходной строке было 6 единиц, тогда в получившейся строке будет 6 троек и 6 двоек, этот вариант тоже не подходит, поскольку при добавлении в исходную строку троек в получившейся в результате преобразований строке не получить 12 двоек. Похожие ситуации будут, если в исходной строке будет от 3 до 5 единиц.
Если в исходной строке было 2 единицы, то после преобразования получится две единицы, две двойки и две тройки. Далее, добавим к исходной строке две тройки. Тогда после преобразования строки, состоящей из нуля, двух единиц и пяти троек получится строка, состоящая из семи единиц, двенадцати двоек и семи троек. Остальные цифры в исходной строке — двойки.
Таким образом, в исходной строке было две единицы.
Известно что исходная строка начиналась с нуля и заканчивалась нулем
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка
исполнителя при этом не изменяется.
выполняется, пока условие истинно.
выполняется команда1 (если условие истинно).
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Дана программа для редактора:
ПОКА НЕ нашлось (00)
Известно, что исходная строка начиналась с нуля и заканчивалась нулём, а между ними содержала только единицы, двойки и тройки. После выполнения данной программы получилась строка, содержащая 23 единицы, 48 двоек и 41 тройку. Сколько цифр было в исходной строке?
Заметим, что порядок цифр между нулями в исходной строке не важен. Из строки «01» получается строка «210». Строка «02» преобразуется в строку «320». Строка «03» сначала преобразуется в строку «3012», затем преобразуется в строку «32102», после чего получается строка «321320».
Заметим, что после преобразования исходной строки получилась строка, содержащая 23 единицы. Если в исходной строке было 23 тройки, тогда в получившейся строке будет 46 троек, что не подходит, поскольку троек должно быть 41. Аналогичная ситуация повторяется, если в исходной строке будет 22 тройки и 21 тройка.
Если в исходной строке было 20 троек, тогда в получившейся строке будет 20 единиц, 40 троек и 40 двоек, этот вариант тоже не подходит, поскольку при добавлении в исходную строку единицы и двоек не получится результата, описанного в условии. Аналогичная ситуация повторяется, если в исходной строке будет 17, 18 или 19 троек.
Если в исходной строке было 16 троек, то после преобразования получится 16 единиц, 32 двойки и 32 тройки. Далее, добавим к исходной строке 7 единиц. Тогда после преобразования строки, состоящей из нуля, 7 единиц и 16 троек получится строка, состоящая из 23 единиц, 39 двоек и 32 троек. Остальные цифры в исходной строке — 9 двоек.
Таким образом, в исходной строке 7 + 9 + 16 + 2 = 34 цифры.
Приведём другое решение.
Заметим, что порядок цифр между нулями в исходной строке не важен. Из строки «01» получается строка «210». Строка «02» преобразуется в строку «320». Строка «03» сначала преобразуется в строку «3012», затем преобразуется в строку «32102», после чего получается строка «321320».
Пусть в исходной строке было x единиц, y двоек и z троек. Тогда в получившейся строке количество единиц будет равно x + z, количество двоек будет равно x + y + 2z и количество троек будет равно y + 2z. Решив получившуюся систему уравнений, найдем x = 7, y = 9; z = 16.
Следовательно, в исходной строке было 7 единиц, 9 двоек, 16 троек и два нуля, всего 7 + 9 + 16 + 2 = 34 цифры.
Известно что исходная строка начиналась с нуля и заканчивалась нулем
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка
исполнителя при этом не изменяется.
выполняется, пока условие истинно.
выполняется команда1 (если условие истинно).
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Дана программа для редактора:
ПОКА нашлось (01) ИЛИ нашлось (02) ИЛИ нашлось (03)
Известно, что исходная строка начиналась с нуля, а далее содержала только единицы, двойки и тройки. После выполнения данной программы получилась строка, содержащая 40 единиц, 10 двоек и 8 троек. Сколько единиц было в исходной строке?
Заметим, что порядок цифр в исходной строке не важен. Из строки «01» сначала получается строка «2302», а потом получается строка «2310». Строка «02» преобразуется в строку «10». Строка «03» сначала преобразуется в строку «201», затем преобразуется в строку «22302», после чего получается строка «22310».
Заметим, что после преобразования исходной строки получилась строка, содержащая 8 троек. Если в исходной строке было 8 единиц, тогда в получившейся строке будет 8 троек и 8 двоек, что не подходит, поскольку двоек должно быть 10. Если в исходной строка было 7 единиц, тогда в получившейся строке будет 7 троек и 7 двоек, этот вариант тоже не подходит, поскольку при добавлении в исходную строку троек в получившейся в результате преобразований строке будет только 9 двоек. Если в исходной строке было 6 единиц, то после преобразования получится шесть единиц, шесть двоек и шесть троек. Далее, добавим к исходной строке две тройки. Тогда после преобразования строки, состоящей из нуля, шести единиц и двух троек получится строка, состоящая из восьми единиц, десяти двоек и восьми троек. Остальные цифры в исходной строке — двойки.
Таким образом, в исходной строке было шесть единиц.
Известно что исходная строка начиналась с нуля и заканчивалась нулем
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка
исполнителя при этом не изменяется.
выполняется, пока условие истинно.
выполняется команда1 (если условие истинно).
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Дана программа для редактора:
ПОКА НЕ нашлось (00)
Известно, что исходная строка начиналась с нуля и заканчивалась нулём, а между ними содержала только единицы, двойки и тройки. После выполнения данной программы получилась строка, содержащая 26 единиц, 54 двойки и 48 троек. Сколько цифр было в исходной строке?
Заметим, что порядок цифр между нулями в исходной строке не важен. Из строки «01» получается строка «210». Строка «02» преобразуется в строку «320». Строка «03» сначала преобразуется в строку «3012», затем преобразуется в строку «32102», после чего получается строка «321320».
Заметим, что после преобразования исходной строки получилась строка, содержащая 26 единиц. Если в исходной строке было 26 троек, тогда в получившейся строке будет 52 тройки, что не подходит, поскольку троек должно быть 48. Аналогичная ситуация повторяется, если в исходной строке будет 25 троек.
Если в исходной строке было 24 тройки, тогда в получившейся строке будет 24 единицы, 48 троек и 48 двоек, этот вариант не подходит, поскольку при добавлении в исходную строку двух единиц и двух двоек не получится результата, описанного в условии. Аналогичная ситуация повторяется, если в исходной строке будет 23, 22 или 21 тройка.
Если в исходной строке было 20 троек, то после преобразования получится 20 единиц, 40 двоек и 40 троек. Далее, добавим к исходной строке 6 единиц. Тогда после преобразования строки, состоящей из нуля, 6 единиц и 20 троек получится строка, состоящая из 26 единиц, 46 двоек и 40 троек. Остальные цифры в исходной строке — 8 двоек.
Таким образом, в исходной строке 6 + 8 + 20 + 2 = 36 цифр.