5.03 Действия над цифрами числа
Ошибка.
Попробуйте повторить позже
Автомат получает на вход четырехзначное число. По этому числу строится новое число по следующим правилам.
1. Складываются первая и вторая, а также третья и четвертая цифры исходного числа;
2. Полученные два числа записываются друг за другом в порядке неубывания (без разделителей).
Пример. Исходное число: . Суммы:
;
. Результат:
.
Укажите наименьшее число, в результате обработки которого автомат выдаст число .
Максимальное значение, которое можно получить при сложении двух цифр, — 18. Поэтому разобьем результат работы алгоритма на числа, не превышающие 18: 12|18.
Теперь подберем наиболее выгодное для нас разложение числа 12. Наша задача подобрать такое разложение, чтобы одно из чисел в сумме было минимальным:
Разложения, в которых участвуют числа, больше 9, нам не подходят.
Значит, — самое выгодное для нас разложение числа 12. В остальных случаях мы не
сможем получить минимальное число.
Теперь подберем наиболее выгодное для нас разложение числа 18. Наша задача подобрать такое разложение, чтобы одно из чисел в сумме было минимальным:
Разложения, в которых участвуют числа, больше 9, нам не подходят.
Значит, — самое выгодное для нас разложение числа 18. В остальных случаях мы не
сможем получить минимальное число.
Поскольку в результате работы алгоритма нам необходимо получить 1218, поставим первой цифрой 3 для получения наименьшего числа, а затем три девятки. Получаем ответ — 3999.
Проверим его: , запишем результаты в порядке неубывания: 1218.
Решение программой:
В этой задаче нам нужно реализовать на Python алгоритм, который описан в условии, и найти наименьшее четырёхзначное число, при обработке которого автомат выдаёт заданный результат. Мы начинаем с того, что перебираем все целые числа от 1000 до 9999 включительно, так как именно такие числа являются четырёхзначными. В теле цикла каждое число k мы сразу преобразуем в строку с помощью str(k). Это нужно для того, чтобы получить доступ к отдельным цифрам по индексам, ведь в строковом виде число легко разложить на символы: str(k)[0] — первая цифра, str(k)[1] — вторая, str(k)[2] — третья, а str(k)[3] — четвёртая. Каждую цифру мы преобразуем обратно в целое число с помощью int(...) и складываем: первую с второй, третью с четвёртой. Эти суммы записываем в переменные s1 и s2. Далее, согласно условию, из двух полученных сумм нужно составить новое число, записав их друг за другом в порядке неубывания. Порядок мы определяем с помощью функций min и max, а чтобы объединить их без пробелов и знаков, преобразуем каждую сумму в строку и складываем строки. После этого сравниваем полученную строку с целевым значением ’1218’. Если совпадение найдено, значит текущее число k подходит. Так как числа мы перебираем по возрастанию, первое найденное число будет наименьшим, и мы выводим его с помощью print, а затем сразу прерываем цикл оператором break, чтобы не проверять лишние варианты.
for k in range(1000, 10000): # Перебираем все четырёхзначные числа от 1000 до 9999 включительно s1 = int(str(k)[0]) + int(str(k)[1]) # Складываем первую и вторую цифры числа s2 = int(str(k)[2]) + int(str(k)[3]) # Складываем третью и четвёртую цифры числа # Формируем результат: две суммы записываются в порядке неубывания без разделителей if str(min(s1, s2)) + str(max(s1, s2)) == ’1218’: # Сравниваем результат с целевым значением ’1218’ print(k) # Выводим найденное число break # Прерываем цикл, так как первое найденное число будет наименьшим
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!