Предмет: Информатика,
автор: ukrop539
Детали
Имеется n кг металлического сплава. Из него изготавливают заготовки массой k кг каждая. После этого из каждой заготовки вытачиваются детали массой m кг каждая (из каждой заготовки вытачивают максимально возможное количество деталей). Если от заготовок после этого что-то остается, то этот материал возвращают к началу производственного цикла и сплавляют с тем, что осталось при изготовлении заготовок. Если того сплава, который получился, достаточно для изготовления хотя бы одной заготовки, то из него снова изготавливают заготовки, из них — детали и т.д.
Напишите программу, которая вычислит, какое количество деталей может быть получено по этой технологии из имеющихся исходно n кг сплава.
Программа получает на вход три натуральных числа n, k, m, каждое в отдельной строке, при этом m≤2×109,k≤2×109,n≤2×109.
Выведите одно число — количество деталей, которое может получиться по такой технологии.
Нужно решить только с использованием целочисленной арифметики, подчеркиваю!
Ответы
Автор ответа:
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:
только арифметика, без циклов
Похожие вопросы
Предмет: Русский язык,
автор: Анна2010кг
Предмет: Английский язык,
автор: tanuchca
Предмет: Русский язык,
автор: ЮРОК001
Предмет: Обществознание,
автор: lera14lera11
Предмет: Алгебра,
автор: Лиза909090