12.03 Исполнитель «Редактор» – определение исходной строки по результату
Готовиться с нами - ЛЕГКО!
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150.Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Ниже приведена программа для исполнителя Редактор.
НАЧАЛО
ПОКА нашлось (577) ИЛИ нашлось (775)
ЕСЛИ нашлось (577)
ТО заменить (577, 755)
ИНАЧЕ заменить (775, 57)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход этой программе подается строка, состоящая из n цифр (3 < n < 1000); первая и последняя цифра в строке — цифра 5, а остальные цифры – семёрки. При каком наименьшем n сумма цифр строки будет чётной и при этом будет больше 223? В ответе укажите число n.
for n in range(4,1000): s = ’5’+(n-2)*’7’ + ’5’ while ’577’ in s or ’775’ in s: if ’577’ in s: s = s.replace(’577’,’755’,1) else: s = s.replace(’775’,’57’, 1) if sum(map(int,s)) > 223 and sum(map(int,s)) % 2 == 0: print(n) break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в которых v и w обозначают последовательности цифр.
А) заменить (v,w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (121, 3) преобразует строку 112112 в строку 1312.
Если в строке нет вхождений последовательности v, то выполнение команды не изменяет исходную строку.
Б) Нашлось (v).
Эта команда проверяет, встречается ли последовательность v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось (38) или нашлось (34)
заменить (38, 434)
заменить (34, 188)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что исходная строка начиналась и заканчивалась тройкой, а в середине содержала сначала четверки ,затем восьмерки. После выполнения данной программы получилась строка, содержащая 39 четверки и 37 восьмерок. Сколько четверок и восьмерок в сумме было в исходной строке?
for n in range(1,100): for m in range(1,100): s = ’3’ + n*’4’ + m*’8’ + ’3’ while (’38’ in s) or (’34’ in s): s = s.replace(’38’,’434’, 1) s = s.replace(’34’,’188’, 1) if s.count(’4’) == 39 and s.count(’8’) == 37: print(n+m) break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось (37) ИЛИ нашлось (577) ИЛИ нашлось (7777)
ЕСЛИ нашлось (37)
ТО заменить (37, 7)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (577)
ТО заменить (577, 73)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (7777)
ТО заменить (7777, 5)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход приведённой выше программе поступает строка, начинающаяся с цифры «3», затем содержащая n цифр «7» (10 < n < 1000).
Определите наименьшее значение n, при котором сумма цифр в строке, получившейся в результате выполнения программы, равна 57 и число оканчивается тройкой.
for n in range(11, 1000): s = ’3’ + n * ’7’ while ’37’ in s or ’577’ in s or ’7777’ in s: if ’37’ in s: s = s.replace(’37’,’7’,1) if ’577’ in s: s = s.replace(’577’,’73’,1) if ’7777’ in s: s = s.replace(’7777’,’5’,1) if sum(int(i) for i in s) == 57 and int(s[-1]) == 3: print(n) break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось (31) ИЛИ нашлось (11111) ИЛИ нашлось (144)
ЕСЛИ нашлось (31)
ТО заменить (31, 4)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (11111)
ТО заменить (11111, 33)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (144)
ТО заменить (144, 133)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход приведённой выше программе поступает строка, начинающаяся с цифры «3», а затем содержащая n цифр «1» (5 < n < 1000).
Определите значение n, при котором сумма цифр в строке, получившейся в результате выполнения программы, равна 160.
Идея решения:
Мы переводим пошаговые действия исполнителя Редактор в программу на Python. Сначала организуем перебор
значений в диапазоне от 6 до 999. Для каждого значения строим исходную строку: сначала символ "3 затем
символов "1". Далее запускаем цикл while, который продолжается, пока строка содержит хотя бы одну из подстрок: 31
, 11111 или 144. Внутри цикла выполняем три проверки:
- если есть 31, то заменяем первое её вхождение слева на 4;
- если есть 11111, то заменяем первое её вхождение слева на 33;
- если есть 144, то заменяем первое её вхождение слева на 133.
Замены выполняем методом replace с параметром 1, чтобы изменялось только первое вхождение, как это делает
исполнитель. После завершения цикла получаем строку, в которой уже нет указанных подстрок. Далее переводим все
символы строки в числа и находим сумму цифр. Если эта сумма равна 160, то выводим найденное значение и
завершаем перебор.
Решение:
# Перебираем все значения n от 6 до 999 for n in range(6, 1000): # Формируем исходную строку: "3" + n раз символ "1" s = "3" + n * "1" # Запускаем цикл, пока встречаются подстроки "31", "11111" или "144" while "31" in s or "11111" in s or "144" in s: # Если в строке есть "31", заменяем первое её вхождение на "4" s = s.replace("31", "4", 1) # Если в строке есть "11111", заменяем первое её вхождение на "33" s = s.replace("11111", "33", 1) # Если в строке есть "144", заменяем первое её вхождение на "133" s = s.replace("144", "133", 1) # Находим сумму всех цифр полученной строки if sum(map(int, s)) == 160: # Если сумма равна 160, выводим n print(n) # Прерываем цикл, так как решение найдено break
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось (74) ИЛИ нашлось (5444) ИЛИ нашлось (444)
ЕСЛИ нашлось (74)
ТО заменить (74, 44)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (5444)
ТО заменить (5444, 477)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (444)
ТО заменить (444, 55)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход приведённой выше программе поступает строка, начинающаяся с цифры «7», а затем содержащая n цифр «4» (4 < n < 1000).
Определите минимальное значение n, при котором в результате выполнения программы строка будет содержать 20 цифр «7».
for n in range(5, 1000): s = ’7’+n*’4’ while ’74’ in s or ’5444’ in s or ’444’ in s: s = s.replace(’74’, ’44’, 1) s = s.replace(’5444’, ’477’, 1) s = s.replace(’444’, ’55’, 1) if s.count(’7’) == 20: print(n)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось (055) ИЛИ нашлось (65) ИЛИ нашлось (5555)
ЕСЛИ нашлось (055)
ТО заменить (055, 56)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (65)
ТО заменить (65, 5)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (5555)
ТО заменить (5555, 000)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (00000)
ТО заменить (00000, 6)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход приведённой выше программе поступает строка, содержащая n цифр «5» и заканчивающаяся цифрой «0» (3 < n < 2500).
Определите наибольшее возможное значение суммы числовых значений цифр в строке, которая может быть результатом выполнения данной программы.
a = set() # Создаём множество для сумм цифр for n in range(4, 2500): # Перебираем количество символов ’5’ s = n * ’5’ + ’0’ # Получаем строку # Осуществляем алгоритм while (’055’ in s) or (’65’ in s) or (’5555’ in s): if ’055’ in s: s = s.replace(’055’, ’56’, 1) if ’65’ in s: s = s.replace(’65’, ’5’, 1) if ’5555’ in s: s = s.replace(’5555’, ’000’, 1) if ’00000’ in s: s = s.replace(’00000’, ’6’, 1) a.add(sum(map(int, s))) # В множество добавляем сумму цифр строки print(max(a)) # Выводим максимальную сумму цифр
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось (4888) ИЛИ нашлось (888) ИЛИ нашлось (49)
ЕСЛИ нашлось (4888)
ТО заменить (4888, 944)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (888)
ТО заменить (888, 9)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (49)
ТО заменить (49, 4)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход приведённой выше программе поступает строка, начинающаяся с цифры 4, а затем n подряд идущих цифр
8 ( и
– четное). Определите наибольшее значение n, при котором сумма числовых значений цифр
строки, получившейся в результате выполнения программы, кратна 37.
for n in range(358,500,2): s = ’4’+’8’*n while ’4888’ in s or ’888’ in s or ’49’ in s: if ’4888’ in s: s = s.replace(’4888’,’944’,1) if ’888’ in s: s = s.replace(’888’,’9’,1) if ’49’ in s: s = s.replace(’49’,’4’,1) if sum(map(int,s)) % 37 == 0: print(n)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось (333) ИЛИ нашлось (13) ИЛИ нашлось (12)
ЕСЛИ нашлось (333)
ТО заменить (333, 21)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (13)
ТО заменить (13, 32)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (12)
ТО заменить (12, 11)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход приведённой выше программе поступает строка, начинающаяся с цифры «1», а затем содержащая n цифр «2» и n цифр «3».
Определите минимальное значение n ( и
- четное), при котором в результате выполнения
программы строка будет содержать ровно 106 цифр «3».
for n in range(200, 501, 2): s = ’1’ + n*’2’ + n*’3’ while ’333’ in s or ’13’ in s or ’12’ in s: s = s.replace(’333’, ’21’, 1) s = s.replace(’13’, ’32’, 1) s = s.replace(’12’, ’11’, 1) if s.count(’3’) == 106: print(n)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось (666) ИЛИ нашлось (333)
ЕСЛИ нашлось (666)
ТО заменить (666, 33)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (333)
ТО заменить (333, 6)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход приведённой выше программе поступает строка, начинающаяся с цифры «3», а затем содержащая n цифр
«6» ().
Определите минимальное трехзначное значение n, при котором в результате выполнения программы значение числа в строке будет кратно 11 и не кратно 6.
for n in range(100, 1000): s = ’3’ + n*’6’ while ’666’ in s or ’333’ in s: s = s.replace(’666’, ’33’, 1) s = s.replace(’333’, ’6’, 1) if int(s) % 11 == 0 and int(s) % 6 != 0: print(n)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось (2222) ИЛИ нашлось (333)
ЕСЛИ нашлось (2222)
ТО заменить (2222, 3)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (333)
ТО заменить (333, 23)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход приведённой выше программе поступает строка, содержащая n цифр «2» ().
Определите наибольшее значение n, при котором в результате выполнения программы количество цифр «2» в строке будет меньше количества цифр «3».
for n in range(6, 1000): s = n*’2’ while ’2222’ in s or ’333’ in s: s = s.replace(’2222’, ’3’, 1) s = s.replace(’333’, ’23’, 1) if s.count(’2’) < s.count(’3’): print(n)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось (92) ИЛИ нашлось (252) ИЛИ нашлось (222) ИЛИ нашлось (7777)
ЕСЛИ нашлось (92)
ТО заменить (92, 25)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (252)
ТО заменить (252, 7)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (222)
ТО заменить (222, 79)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (7777)
ТО заменить (7777, 29)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход приведённой выше программе поступает строка, начинающаяся с цифры «9», а затем содержащая n цифр
«2» ().
Определите наибольшее значение n, при котором в результате выполнения программы значение числа в строке будет оканчиваться на «79».
for n in range(201, 850): s = ’9’ + n*’2’ while ’92’ in s or ’252’ in s or ’222’ in s or ’7777’ in s: s = s.replace(’92’, ’25’, 1) s = s.replace(’252’, ’7’, 1) s = s.replace(’222’, ’79’, 1) s = s.replace(’7777’, ’29’, 1) if int(s) % 100 == 79: print(n)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось (14) ИЛИ нашлось (444) ИЛИ нашлось (22444)
ЕСЛИ нашлось (14)
ТО заменить (14, 22)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (444)
ТО заменить (444, 1)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (22444)
ТО заменить (22444, 411)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход приведённой выше программе поступает строка, начинающаяся с цифры «1», а затем содержащая n цифр
«4» ().
Определите наибольшее значение n, при котором в результате выполнения программы в строке будет находится хотя бы одна цифра «1», а также не более 50 цифр «2».
for n in range(11, 1000): s = ’1’ + n*’4’ while ’14’ in s or ’444’ in s or ’22444’ in s: s = s.replace(’14’, ’22’, 1) s = s.replace(’444’, ’1’, 1) s = s.replace(’22444’, ’411’, 1) if ’1’ in s and s.count(’2’) <= 50: print(n)
Ошибка.
Попробуйте повторить позже
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось (666) ИЛИ нашлось (000)
ЕСЛИ нашлось (666)
ТО заменить (666, 00)
ИНАЧЕ заменить (000, 6)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход приведённой выше программе поступает строка, начинающаяся с цифры «6», а затем содержащая n цифр
«0» ().
Определите наибольшее значение n, при котором в результате выполнения программы в строке не будет цифр «0» и строка будет содержать более одного символа.
for n in range(11, 1050): s = ’6’ + n*’0’ while ’666’ in s or ’000’ in s: if ’666’ in s: s = s.replace(’666’, ’00’, 1) else: s = s.replace(’000’, ’6’, 1) if ’0’ not in s and len(s) > 1: print(n)