Предмет: Информатика,
автор: Pr1vated
Решите задачу, плз.
У вас есть две кучи камней. Первая из них содержит x камней, вторая - y. За один раз мальчик может забрать из любой кучки один камень и положить его в другую кучу. Вася хочет сделать так, чтобы хотя бы в одной куче осталось ровно z камней. Составьте алгоритм, который определяет, может ли он достичь поставленной цели, и если да, то какое наименьшее количество переложений ему знадободиться для этого.
Нужен код на любом из этих языков: python, c, c++, pascal
Ответы
Автор ответа:
0
var
x, y, z: integer;
begin
readln(x, y, z);
if (x + y < z) then
writeln('Не смогёт')
else
begin
write('Сможет, в ');
if (x < y) then
write(x - z)
else
write(y - z);
writeln(' шаг(а)(ов)');
end;
end.
x, y, z: integer;
begin
readln(x, y, z);
if (x + y < z) then
writeln('Не смогёт')
else
begin
write('Сможет, в ');
if (x < y) then
write(x - z)
else
write(y - z);
writeln(' шаг(а)(ов)');
end;
end.
Автор ответа:
0
Пусть x-5, y=3, z=2. Очевидно, достаточно одного хода y->x. Ваша программа выведет значение 2-max(5,3)-=-3
Автор ответа:
0
var
x, y, z: integer;
begin
writeln('Веедите значения x,y,z');
readln(x, y, z);
if z>(x+y) then
writeln('Решения нет')
else if z=min(x,y) then
writeln('Делать нчего не нужно')
else
writeln('Потребуется шагов: ', min(x, y)-z)
end.
x, y, z: integer;
begin
writeln('Веедите значения x,y,z');
readln(x, y, z);
if z>(x+y) then
writeln('Решения нет')
else if z=min(x,y) then
writeln('Делать нчего не нужно')
else
writeln('Потребуется шагов: ', min(x, y)-z)
end.
Похожие вопросы
Предмет: Математика,
автор: Sveto4kasveto4ka
Предмет: Алгебра,
автор: makuskinakarina
Предмет: Русский язык,
автор: dzumabaevaala
Предмет: Литература,
автор: Аноним