Предмет: Информатика, автор: ukrop539

Детали
Имеется n кг металлического сплава. Из него изготавливают заготовки массой k кг каждая. После этого из каждой заготовки вытачиваются детали массой m кг каждая (из каждой заготовки вытачивают максимально возможное количество деталей). Если от заготовок после этого что-то остается, то этот материал возвращают к началу производственного цикла и сплавляют с тем, что осталось при изготовлении заготовок. Если того сплава, который получился, достаточно для изготовления хотя бы одной заготовки, то из него снова изготавливают заготовки, из них — детали и т.д.

Напишите программу, которая вычислит, какое количество деталей может быть получено по этой технологии из имеющихся исходно n кг сплава.

Программа получает на вход три натуральных числа n, k, m, каждое в отдельной строке, при этом m≤2×109,k≤2×109,n≤2×109.

Выведите одно число — количество деталей, которое может получиться по такой технологии.

Нужно решить только с использованием целочисленной арифметики, подчеркиваю!

Ответы

Автор ответа: vladimirkoryakin9459
0

var n,k,m,kz,kd:integer;

begin

writeln('Введите n,k,m');

readln(n,k,m);//металл, вес заготовок, вес деталей

kd:=0;//количество деталей

while n>=k do //пока вес металла не меньше  веса заготовки

begin

 kz:=n div k;//количество заготовок

 kd:=kd+kz*(k div m);//количество деталей

 n:=n-kz*(k div m)*m;//остаток металла

end;

write('Количество деталей=',kd)

end.

Паскаль


ukrop539: только арифметика, без циклов
Похожие вопросы
Предмет: Алгебра, автор: Лиза909090