C/C++

Задачи по програмированию

Иван очень любит machine learning и data science, поэтому он решил начать ходить на курсы сразу по обоим направлениям. Для этого он записался на курсы, где график занятий выглядит так: сначала Иван занимается машинным обучением A дней, затем B дней он решает задачи на Kaggle, потом опять A дней занимается машинным обучением и т.д. Также Иван знает, что когда он занимается машинным обучением, он должен есть в день ровно C пирожных, а в день занятий анализом данных — D пирожных.
Решив начать готовиться с новой недели, Иван захотел узнать, сколько ему нужно купить пирожных на N недель, в течение которых идут эти курсы. Напишите программу, которая определяет сколько всего пирожных съест Иван за целое число недель N.
Формат ввода
В первой строке дается целое число A (1 ≤ A ≤ 1000) — количество подряд идущих дней, которые Иван тратит на совершенствование себя в области машинного обучения.
Во второй строке дается целое число B (1 ≤ B ≤ 1000) — количество подряд идущих дней, которые Иван тратит на анализ очередного датасета.
В третьей строке дается целое число C (1 ≤ C ≤ 500) — количество пирожных, которые будет в день есть Иван во время изучения machine learning.
В четвертой строке дается целое число D (1 ≤ D ≤ 500) — количество пирожных, которые будет в день есть Иван во время изучения data science.
В пятой строке дается целое число N (1 ≤ N ≤ 500) — количество недель подготовки Ивана.
Формат вывода
Выведите одно число — сколько всего пирожных съест Иван за N недель.
Макс Лимон
Макс Лимон
101
Лень читать
Дмитрий Рыжков
Дмитрий Рыжков
365
Лучший ответ
Арифметика для начальной школы.
 int a, b, c, d, n;
cin >> a >> b >> c >> d >> n;
cout
Дима Монако
Дима Монако
61 294
Весь учебный процесс Ивана состоит из чередующихся периодов машинного обучения (назовем их периодами A) и периодов анализа данных (назовем их периодами B).

В течение полного периода A проходит A дней и съедается AC пирожных.
В течение полного периода B проходит B дней и съедается BD пирожных.
Весь учебный процесс без выходных занимает 7N дней.

Можно смоделировать процесс обучения Ивана при помощи цикла.
Будем хранить в переменной q число дней, оставшихся до конца учебного процесса.
Изначально q = 7N.

В переменной p будем хранить число пирожных, съеденный на данный момент.
Изначально p = 0.

Учебный процесс моделируем так: по очереди отнимаем от q периоды A и B, пока эти периоды укладываются в q дней. И прибавляем к p пирожные — AC для периода A, BD для периода B.

Если период не укладывается в q дней, то это частичный период, поэтому нам нужно съесть (прибавить к p) только qC или qD пирожных — в зависимости от того, какой это период.

По шагам:
1) если q >= A, тогда q -= A; p += A * C; иначе p += q * C и выходим из цикла
2) если q >= B, тогда q -= B; p += B * D; иначе p += q * D и выходим из цикла
3) конец цикла, переходим к пункту 1
4) учебный процесс окончен, выводим p — число съеденных пирожных
Андрей Одинцов
Андрей Одинцов
71 134