Перейти к содержанию

🗒 Задача

Напиши программу, которая будет рассчитывать сколько потребуется ингредиентов для разного количества порций блюда. Для примера возьмем рецепт омлета. Для одной порции нужно: яиц – 2шт., молока – 50 мл, сливочного масла – 15 гр.

  • создай список с количеством ингредиентов для 1 блюда (где под индексами располагается количество для яиц/молока/масла соответственно);

  • запроси у пользователя количество порций;

  • модернизировать список таким образом, чтобы вывести в консоль сообщение с количеством нужных ингредиентов такого типа: “На [количество_порций] порций вам понадобится: Яиц – n, молока – n1, сливочного масла – n2]”.

❌ Ошибки

  • не использую map или replaceAll для изменения коллекции

  • для вывода используют цикл и индексы — предлагать систематизировать

✏️ Комментарии

Используй функцию map для этих целей) и в каждую итерацию будем перемножать элемент коллекции
Получается довольно универсально, да. Но в таком случае хардкод индексов надо тоже как-то систематизировать. Предлагаю вынести их в переменные с соответствующим неймингом и переиспользовать
Что-то не то. в условии имеется в виду создание целочисленного списка, где 3 элемента (2, 50, 15)

🧾 Решение

fun main() {
    val numOfComponentsPerOnePortion = listOf(2, 50, 15)
    println("Сколько порций омлета вы хотите приготовить?")
    val numOfPortions = readln().toInt()

    val neededComponents = numOfComponentsPerOnePortion.map { it * numOfPortions }
    println(
        "\nНа $numOfPortions порций вам понадобится: " +
                "Яиц – ${neededComponents[0]} шт, " +
                "молока – ${neededComponents[1]} мл, " +
                "сливочного масла – ${neededComponents[2]} гр."
    )
}