12.03 Исполнитель «Редактор» – определение исходной строки по результату
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки цифр.
А) заменить
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку Например, выполнение команды
заменить
преобразует строку в строку
Если в строке нет вхождений цепочки то выполнение команды заменить не меняет эту строку.
Б) нашлось
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Известно, что исходная строка начиналась с нуля, а далее содержала только единицы, двойки и тройки. После выполнения данной программы получилась строка, содержащая единиц, двойки и троек. Сколько двоек было в исходной строке?
НАЧАЛО
ПОКА нашлось ИЛИ нашлось ИЛИ нашлось
заменить
заменить
заменить
КОНЕЦ ПОКА
КОНЕЦ
Можно понять суть изменений:
- до начала было единиц, станет двоек, троек, единиц
- до начала было двоек, станет единиц
- до начала было троек, станет троек, троек, единиц
Получается, единиц, двоек, троек.
Решим систему:
|
Ответ: 43.
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось (55)
заменить (555, 44)
заменить (444, 555)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка содержала более 200 пятерок и не содержала других цифр. Укажите минимально возможную длину исходной строки, при которой в результате работы этой программы получится строка, содержащая хотя бы одну пятерку.
for i in range(200, 1000): s = ’5’*i counter = 0 # чтобы избежать бесконечных циклов while ’55’ in s: s = s.replace(’555’, ’44’, 1) s = s.replace(’444’, ’555’, 1) counter += 1 if counter > 100000: s = ’0’ break if s.count(’5’) >= 1: print(i) break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось (01) ИЛИ нашлось (02) ИЛИ нашлось (03)
заменить (01, 30)
заменить (02, 101)
заменить (03, 202)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка начиналась с нуля, а далее содержала только единицы, двойки и тройки. После выполнения данной программы получилась строка, содержащая единиц, двоек и троек. Сколько единиц было в исходной строке?
for i in range(50): for j in range(50): for k in range(50): s = ’0’ + ’1’ * i + ’2’ * j + ’3’ * k temp = s while ’01’ in s or ’02’ in s or ’03’ in s: s = s.replace(’01’, ’30’, 1) s = s.replace(’02’, ’101’, 1) s = s.replace(’03’, ’202’, 1) if s.count(’1’) == 15 and s.count(’2’) == 10 and s.count(’3’) == 60: print(temp.count(’1’))
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в которых и обозначают последовательности цифр:
А) заменить ().
Эта команда заменяет в строке первое слева вхождение последовательности на последовательность . Например, выполнение команды заменить преобразует строку в строку .
Если в строке нет вхождений последовательности , то выполнение команды заменить не меняет эту строку.
Б) Нашлось ().
Эта команда проверяет, встречается ли последовательность в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
Последовательность команд
КОНЕЦ ПОКА
Выполняется, пока условие истинно.
В конструкции:
ЕСЛИ условие
команда1
ИНАЧЕ
команда2
КОНЕЦ ЕСЛИ
Выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось (3333) ИЛИ нашлось (8888)
ЕСЛИ нашлось (3333)
ТО заменить (3333, 888)
ИНАЧЕ заменить (8888, 3)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка содержала больше 350 троек, при этом не содержав других цифр. При каком наименьшем количестве троек в результате выполнения программы получилась строка, состоящая только из восьмёрок?
Программная реализация:
for x in range(350, 380): s = ’3’*x while ’3333’ in s or ’8888’ in s: if ’3333’ in s: s = s.replace(’3333’, ’888’, 1) else: s = s.replace(’8888’, ’3’, 1) if not ’3’ in s: print(x) break
В результате программы на экран будет выведено число 355.
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в которых v и w обозначают последовательности цифр.
А) заменить (v,w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (121, 3) преобразует строку 112112 в строку 1312.
Если в строке нет вхождений последовательности v, то выполнение команды не изменяет исходную строку.
Б) Нашлось (v).
Эта команда проверяет, встречается ли последовательность v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось (50) или нашлось (57)
заменить (50, 77)
заменить (57, 075)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка начиналась и заканчивалась пятеркой, а в середине содержала сначала только нули, затем только семерки. После выполнения данной программы получилась строка, содержащая 23 нуля и 32 семерки. Сколько нулей было в исходной строке?
for m in range(300): f = 0 for n in range(300): s = ’5’ + m*’0’ + n*’7’ + ’5’ while ’50’ in s or ’57’ in s: s = s.replace(’50’, ’77’, 1) s = s.replace(’57’, ’075’, 1) if s.count(’0’) == 23 and s.count(’7’) == 32: print(m) f = 1 break if f == 1: break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в которых v и w обозначают последовательности цифр.
А) заменить (v,w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (121, 3) преобразует строку 112112 в строку 1312.
Если в строке нет вхождений последовательности v, то выполнение команды не изменяет исходную строку.
Б) Нашлось (v).
Эта команда проверяет, встречается ли последовательность v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось (12) или нашлось (13) или нашлось (14)
заменить (12, 4)
заменить (13, 211)
заменить (14, 321)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка начиналась с одной единицы, а далее содержала только двойки, тройки и четверки. После выполнения данной программы получилась строка, содержащая 10 двоек, 20 троек, 30 четверок. Сколько двоек и четверок было в исходной строке? В ответе запишите произведение их количества.
for m in range(100): f = 0 for n in range(100): for k in range(100): s = ’1’ + m*’2’ + n*’3’ + k*’4’ while ’12’ in s or ’13’ in s or ’14’ in s: s = s.replace(’12’, ’4’, 1) s = s.replace(’13’, ’211’, 1) s = s.replace(’14’, ’321’, 1) if s.count(’2’) == 10 and s.count(’3’) == 20 and s.count(’4’) == 30: print(m*k) f = 1 break if f == 1: break if f == 1: break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в которых v и w обозначают последовательности цифр.
А) заменить (v,w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (121, 3) преобразует строку 112112 в строку 1312.
Если в строке нет вхождений последовательности v, то выполнение команды не изменяет исходную строку.
Б) Нашлось (v).
Эта команда проверяет, встречается ли последовательность v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для редактора:
НАЧАЛО
ПОКА НЕ нашлось (11)
заменить (12, 41)
заменить (13, 21)
заменить (14, 31)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка начиналась и заканчивалась единицей, а в середине содержала только двойки, тройки и четверки. После выполнения данной программы получилась строка, содержащая 13 двоек, 26 троек и 39 четверок. Сколько цифр было в исходной строке?
for m in range(50): f = 0 for n in range(50): for k in range(50): s = ’1’ + ’2’*m + ’3’*n + ’4’*k + ’1’ while ’11’ not in s: s = s.replace(’12’, ’41’, 1) s = s.replace(’13’, ’21’, 1) s = s.replace(’14’, ’31’, 1) if s.count(’2’) == 13 and s.count(’3’) == 26 and s.count(’4’) == 39: f = 1 print(len(s)) break if f == 1: break if f == 1: break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в которых v и w обозначают последовательности цифр.
А) заменить (v,w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (121, 3) преобразует строку 112112 в строку 1312.
Если в строке нет вхождений последовательности v, то выполнение команды не изменяет исходную строку.
Б) Нашлось (v).
Эта команда проверяет, встречается ли последовательность v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось (3333)
заменить (3333, 555)
заменить (5555, 33)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка содержала более 123 троек и в ней не было других цифр. Укажите минимально возможную длину исходной строки, при которой в результате работы программы получится строка, содержащая ровно пять троек.
for n in range(124, 300): s = ’3’*n while ’3333’ in s: s = s.replace(’3333’, ’555’, 1) s = s.replace(’5555’, ’33’, 1) if s.count(’3’) == 5: print(n) break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в которых v и w обозначают последовательности цифр.
А) заменить (v,w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (121, 3) преобразует строку 112112 в строку 1312.
Если в строке нет вхождений последовательности v, то выполнение команды не изменяет исходную строку.
Б) Нашлось (v).
Эта команда проверяет, встречается ли последовательность v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось (666)
заменить (666, 0)
заменить (000, 66)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка содержала более 100 шестерок и в ней не было других цифр. В результате работы программы получилась строка 006. Какое наименьшее количество шестерок могло быть в исходной строке?
for n in range(101, 300): s = ’6’*n while ’666’ in s: s = s.replace(’666’, ’0’, 1) s = s.replace(’000’, ’66’, 1) if s == ’006’: print(n) break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки цифр.
А) заменить .
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку . Например, выполнение команды
заменить
преобразует строку в строку .
Если в строке нет вхождений цепочки , то выполнение команды заменить не меняет эту строку.
Б) нашлось .
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось
заменить
заменить
КОНЕЦ ПОКА
КОНЕЦ
В результате работы программы к строке получилась строка, в которой содержится цифр . Сколько цифр было в изначальной строке?
for i in range(100): n = ’1’ * 30 + ’2’ * i + ’3’ * 6 while ’12’ in n: n = n.replace(’12’, ’2’, 1) n = n.replace(’23’, ’3’, 1) if n.count(’2’) == 35: print(i) break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в которых v и w обозначают последовательности цифр.
А) заменить (v,w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (121, 3) преобразует строку 112112 в строку 1312. Если в строке нет вхождений последовательности v, то выполнение команды не изменяет исходную строку.
Б) Нашлось (v).
Эта команда проверяет, встречается ли последовательность v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось (32) или нашлось (34)
заменить (32, 44)
заменить (34, 243)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка начиналась и заканчивалась тройкой, а в середине содержала сначала только двойки и затем только четверки. После выполнения данной программы получилась строка, содержащая 36 двоек и 47 четверок. Сколько двоек было в исходной строке?
for x1 in range(50): for x2 in range(50): s = ’3’ + ’2’*x1 + ’4’*x2 +’3’ while (’32’ in s) or (’34’ in s): s = s.replace(’32’,’44’,1) s = s.replace(’34’,’243’,1) if s.count(’2’) == 36 and s.count(’4’) == 47: print(x1)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки цифр.
А) заменить .
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку . Например, выполнение команды
заменить
преобразует строку в строку .
Если в строке нет вхождений цепочки , то выполнение команды заменить не меняет эту строку.
Б) нашлось .
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось
заменить
заменить
КОНЕЦ ПОКА
КОНЕЦ
В результате работы программы к строке получилась строка, в которой содержится цифр . Сколько цифр было в изначальной строке?
for i in range(100): n = "1" * 44 + "5" * i + "3" * 12 while "15" in n: n = n.replace("15", "5", 1) n = n.replace("53", "3", 1) if n.count("5") == 30: print(i) break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в которых v и w обозначают последовательности цифр.
А) заменить (v,w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (121, 3) преобразует строку 112112 в строку 1312.
Если в строке нет вхождений последовательности v, то выполнение команды не изменяет исходную строку.
Б) Нашлось (v).
Эта команда проверяет, встречается ли последовательность v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось (83) или нашлось (84)
заменить (83, 33)
заменить (84, 438)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка начиналась и заканчивалась восьмеркой, а в середине содержала только тройки и четверки. После выполнения данной программы получилась строка, содержащая 27 троек и 37 четверок. Сколько четверок было в исходной строке?
for t in range(1, 100): for f in range(1, 100): s = ’8’ + t * ’3’ + f * ’4’ + ’8’ while ’83’ in s or ’84’ in s: s = s.replace(’83’, ’33’, 1) s = s.replace(’84’, ’438’, 1) if s.count(’3’) == 27 and s.count(’4’) == 37: print(f)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в которых v и w обозначают последовательности цифр.
А) заменить (v,w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (121, 3) преобразует строку 112112 в строку 1312.
Если в строке нет вхождений последовательности v, то выполнение команды не изменяет исходную строку.
Б) Нашлось (v).
Эта команда проверяет, встречается ли последовательность v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось (2222)
заменить (2222, 44)
заменить (444, 22)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка содержала более 150 двоек и в ней не было других цифр. Укажите минимально возможную длину исходной строки, при которой в результате работы программы получится строка, содержащая четыре двойки.
for i in range(151, 200): s = i * ’2’ while ’2222’ in s: s = s.replace(’2222’, ’44’, 1) s = s.replace(’444’, ’22’, 1) if s.count(’2’) == 4: print(i)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в которых v и w обозначают последовательности цифр.
А) заменить (v,w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (121, 3) преобразует строку 112112 в строку 1312.
Если в строке нет вхождений последовательности v, то выполнение команды не изменяет исходную строку.
Б) Нашлось (v).
Эта команда проверяет, встречается ли последовательность v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для редактора:
НАЧАЛО
ПОКА НЕ нашлось (11)
заменить (12, 41)
заменить (13, 21)
заменить (14, 31)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка начиналась и заканчивалась единицей, а в середине содержала только двойки, тройки и четверки. После выполнения данной программы получилась строка, содержащая 17 двоек, 31 тройку и 43 четверки. Сколько цифр было в исходной строке?
for i in range(1, 50): for t in range(1, 50): for f in range(1, 50): s = ’1’ + i * ’2’ + t * ’3’ + f * ’4’ + ’1’ length = len(s) while ’11’ not in s: s = s.replace(’12’, ’41’, 1) s = s.replace(’13’, ’21’, 1) s = s.replace(’14’, ’31’, 1) if s.count(’2’) == 17 and s.count(’3’) == 31 and s.count(’4’) == 43: print(length)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в которых v и w обозначают последовательности цифр.
А) заменить (v,w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (121, 3) преобразует строку 112112 в строку 1312.
Если в строке нет вхождений последовательности v, то выполнение команды не изменяет исходную строку.
Б) Нашлось (v).
Эта команда проверяет, встречается ли последовательность v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось (31) или нашлось (34)
заменить (31, 443)
заменить (34, 13)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка начиналась и заканчивалась тройкой, а в середине содержала только единицы и четверки. После выполнения данной программы получилась строка, содержащая 35 единиц и 44 четверки. Сколько единиц и четверок в сумме было в исходной строке?
for i in range(1, 100): for j in range(1, 100): s = ’3’ + i * ’1’ + j * ’4’ + ’3’ while ’31’ in s or ’34’ in s: s = s.replace(’31’, ’443’, 1) s = s.replace(’34’, ’13’, 1) if s.count(’1’) == 35 and s.count(’4’) == 44: print(i+j)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку символов и преобразовывает её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки символов.
А) заменить ().
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку . Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки , то выполнение команды заменить () не меняет эту строку.
Б) нашлось ().
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Дана программа для Редактора:
НАЧАЛО ПОКА нашлось (744) ИЛИ нашлось (4444) ИЛИ нашлось (344) ЕСЛИ нашлось (744) ТО заменить (744, 33) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (4444) ТО заменить (4444, 73) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (344) ТО заменить (344, 4) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
На вход приведённой выше программе поступает строка, начинающаяся с цифры «7», а затем содержащая цифр «4» (5 < < 1000). Определите значение , при котором сумма цифр в строке, получившейся в результате выполнения программы, равна 80.
for n in range(6,1000): s = ’7’+’4’*n while ’744’ in s or ’4444’ in s or ’344’ in s: if ’744’ in s:s = s.replace(’744’,’33’,1) if ’4444’ in s:s = s.replace(’4444’,’73’,1) if ’344’ in s:s = s.replace(’344’,’4’,1) ans = sum(map(int,s)) if ans == 80: print(n)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку символов и преобразовывает её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки символов.
А) заменить ().
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку . Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки , то выполнение команды заменить () не меняет эту строку.
Б) нашлось ().
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Дана программа для Редактора:
НАЧАЛО ПОКА нашлось (3966) ИЛИ нашлось (6666) ИЛИ нашлось (963) ЕСЛИ нашлось (3966) ТО заменить (3966, 96) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (6666) ТО заменить (6666, 339) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (963) ТО заменить (963, 6) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
На вход приведённой выше программе поступает строка, начинающаяся с цифр «39», а затем содержащая цифр «6» (4 < < 1000). Определите наибольшее значение , при котором сумма цифр в строке, получившейся в результате выполнения программы, равна 60.
for n in range(5,1000): s = ’39’+’6’*n while ’3966’ in s or ’6666’ in s or ’963’ in s: if ’3966’ in s:s = s.replace(’3966’,’96’,1) if ’6666’ in s:s = s.replace(’6666’,’339’,1) if ’963’ in s:s = s.replace(’963’,’6’,1) ans = sum(map(int,s)) if ans == 60: print(n)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку символов и преобразовывает её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки символов.
А) заменить ().
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку . Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки , то выполнение команды заменить () не меняет эту строку.
Б) нашлось (). Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Дана программа для Редактора:
НАЧАЛО ПОКА нашлось (1222) ИЛИ нашлось (1212) ИЛИ нашлось (132) ЕСЛИ нашлось (1222) ТО заменить (1222, 121) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (1212) ТО заменить (1212, 13) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (132) ТО заменить (132, 33) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
На вход приведённой выше программе поступает строка, начинающаяся с цифры «1», а затем содержащая цифр «2» (4 < < 1000). Определите наименьшее значение , при котором сумма цифр в строке, получившейся в результате выполнения программы, больше 1000.
for n in range(5,1000): s = ’1’+’2’*n while ’1222’ in s or ’1212’ in s or ’132’ in s: if ’1222’ in s:s = s.replace(’1222’,’121’,1) if ’1212’ in s:s = s.replace(’1212’,’13’,1) if ’132’ in s:s = s.replace(’132’,’33’,1) ans = sum(map(int,s)) if ans > 1000: print(n) break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в которых и обозначают последовательности цифр:
А) заменить (v,w).
Эта команда заменяет в строке первое слева вхождение последовательности на последовательность . Например, выполнение команды заменить преобразует строку в строку .
Если в строке нет вхождений последовательности , то выполнение команды заменить не меняет эту строку.
Б) Нашлось (v).
Эта команда проверяет, встречается ли последовательность в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие Последовательность команд КОНЕЦ ПОКА
Выполняется, пока условие истинно.
В конструкции:
ЕСЛИ условие команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ
Выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Дана программа для редактора:
НАЧАЛО ПОКА нашлось (6666) ИЛИ нашлось (9999) ЕСЛИ нашлось (6666) ТО заменить (6666, 699) ИНАЧЕ заменить (9999, 6) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
Известно, что исходная строка содержала больше 150 шестерок, при этом не содержав других цифр. Укажите сумму значений n на отрезке [151;500], при которых количество шестерок в строке вдвое меньше количества девяток.
ans = 0 for n in range(151,501): s = n*’6’ while ’6666’ in s or ’9999’ in s: if (’6666’) in s:s = s.replace(’6666’,’699’,1) else: s = s.replace(’9999’,’6’,1) if s.count(’6’) * 2 == s.count(’9’): ans += n print(ans)