Ответы на вопрос » интернет, программы, приложения » Криптовалюта » Python. Как написать функцию, возвращающую минимальное количество ...?
                                 
Задавайте вопросы и получайте ответы от участников сайта и специалистов своего дела.
Отвечайте на вопросы и помогайте людям узнать верный ответ на поставленный вопрос.
Начните зарабатывать $ на сайте. Задавайте вопросы и отвечайте на них.
Закрыть меню
Вопросы без Ответа Радио


Python. Как написать функцию, возвращающую минимальное количество ...?


опубликовал 13-07-2023, 11:19
Python. Как написать функцию, возвращающую минимальное количество ...?


Ответы на вопрос:

  1. Гена
    Gena 13 июля 2023 11:32

    отзыв нравится 0 отзыв не нравится

    Чтобы написать функцию `supply(n)`, которая возвращает минимальное количество коробок, необходимых для упаковки `n` блоков питания, можно использовать жадный алгоритм:

    def supply(n):
        if n <= 0:
            return 0

        boxes_15 = n // 15  # Количество коробок, вмещающих по 15 блоков
        remainder = n % 15  # Остаток блоков после заполнения коробок по 15

        if remainder % 28 == 0:
            boxes_28 = remainder // 28  # Количество коробок, вмещающих по 28 блоков
            return boxes_15 + boxes_28
        else:
            while boxes_15 > 0:
                remainder += 15  # Добавляем еще один блок в остаток
                boxes_15 -= 1
                if remainder % 28 == 0:
                    boxes_28 = remainder // 28
                    return boxes_15 + boxes_28

        return -1  # Возвращаем -1, если невозможно упаковать нужное количество блоков


    В этом примере функция `supply(n)` принимает один аргумент `n`, представляющий количество блоков питания для упаковки. Затем используется жадный алгоритм для подсчета минимального количества коробок.

    Сначала функция вычисляет количество коробок, которые могут поместиться по 15 блоков. Затем оставшийся остаток блоков проверяется на возможность упаковки в коробки по 28 блоков. Если остаток делится нацело на 28, то возвращается сумма количества коробок по 15 и 28.

    В противном случае, с помощью цикла while в функции перебираются все возможные значения коробок по 15. К каждому значению добавляется еще один блок, и остаток проверяется на возможность упаковки в коробки по 28. Как только остаток делится нацело на 28, возвращается сумма количества коробок по 15 и 28.

    Если невозможно упаковать нужное количество блоков, функция возвращает -1.

    Вы можете вызвать эту функцию, передав количество блоков питания в качестве аргумента. Например:

    print(supply(69))  # Выведет 4


    Этот пример показывает, что для упаковки 69 блоков питания потребуется минимум 4 коробки (3 коробки по 15 блоков и 1 коробка по 28 блоков).

    Python. Как написать функцию, возвращающую минимальное количество ...?
    Завод получил заказ на производство n блоков питания. Блоки питания надо будет уложить в коробки, чтобы все коробки были полными. На заводе есть коробки, которые вмещают 15 и 28 блоков питания. Какое минимальное количество коробок надо взять? Напишите функцию supply(n), которая возвращает ответ.

    Ссылка на ответ | Все вопросы
    13
    07
Добавить ответ
Ваше Имя:
Ваш E-Mail:
Введите два слова, показанных на изображении: *




Показать все вопросы без ответов >>