Top.Mail.Ru

В данной задаче мы имеем n цилиндрических заготовок массой a грамм, из которых мы можем вытачивать детали. Также после обработки каждой детали остаются опилки массой b грамм, которые мы можем использовать для создания новых заготовок.

Для решения задачи можно использовать следующий алгоритм:

1. Сначала определим, сколько деталей мы можем сделать из первой заготовки. Для этого разделим массу заготовки на массу одной детали (a / (a – b)). Сохраним полученное значение в переменной count.

2. Дальше проверим, есть ли еще заготовки. Если заготовок больше нет (n = 0), завершаем алгоритм и возвращаем значение count.

3. Если есть еще заготовки, то мы можем использовать оставшиеся опилки для создания новых заготовок. Рассчитаем, сколько новых заготовок мы можем получить, разделив суммарную массу опилок на массу одной заготовки (b / a). Сохраним полученное значение в переменной new_n.

4. Прибавляем new_n к общему количеству заготовок n.

5. Повторяем шаги 1-4 до тех пор, пока есть заготовки n.

6. После завершения алгоритма возвращаем общее количество сделанных деталей.

Пример: Пусть у нас есть 3 заготовки массой 10 грамм каждая и после обработки остается 2 грамма опилок. Тогда шаги алгоритма будут следующими:

1. count = 10 / (10 – 2) = 1 (мы можем сделать 1 деталь из первой заготовки)
2. n = n – 1 = 2 (у нас осталось две заготовки)
3. new_n = 2 / 10 = 0 (опилок недостаточно для создания новой заготовки)
4. n = n + new_n = 2 + 0 = 2 (количество заготовок остается неизменным)

Алгоритм завершается, так как больше нет заготовок.
Общее количество сделанных деталей равно 1.

Таким образом, в этом примере мы сделали 1 деталь из 3 заготовок.

   
[metform form_id="1136"]