Тема 5. Простейшие исполнители и алгоритмы
5.03 Работа с цифрами числа
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела простейшие исполнители и алгоритмы
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#30282

Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам.

1. Из цифр, образующих десятичную запись N  , строятся наибольшее и наименьшее возможные двузначные числа (числа не могут начинаться с нуля).

2. На экран выводится разность полученных двузначных чисел.

Пример. Дано число N = 351  . Наибольшее двузначное число из заданных цифр – 53  , наименьшее – 13  . На экран выводится разность 53  13  = 40  .

Чему равно количество трёхзначных чисел N  , в результате обработки которых на экране автомата появится число 11  ?

Показать ответ и решение

Решение 1

ans = 0
for i in range(100, 1000):
    i = str(i)
    a = []
    for x in i:
        a.append(int(x))
    a = sorted(a) #сортируем массив по возрастанию
    max_num = str(a[2]) + str(a[1])
    if a[0] != 0 and a[1] != 0: #массив вида [1, 2, 3]
        min_num = str(a[0]) + str(a[1])
    elif a[1] != 0:   #массив вида [0, 2, 3]
        min_num = str(a[1]) + str(a[0])
    else:  #массив вида [0, 0, 3]
        min_num = max_num
    if int(max_num) - int(min_num) == 11:
        ans += 1
print(ans)

Решение 2

from itertools import permutations

ans = 0
for i in range(100, 1000):
    comb = permutations(str(i), r=2)  # Перебор длины 2
    maxim = 0
    minim = 10000000
    for j in comb:
        s = ’’.join(j)  # Преобразование в строку
        if s[0] != ’0’:
            maxim = max(maxim, int(s))
            minim = min(minim, int(s))
    if (maxim - minim) == 11:
        ans += 1
print(ans)

Ответ: 4

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

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

Бесплатное обучение
в Школково

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

Налоговые вычеты

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

Специальное предложение
для учителей

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

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!