В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
PolyaBarane
PolyaBarane
31.05.2020 19:19 •  Информатика

Решите , плз. у вас есть две кучи камней. первая из них содержит x камней, вторая - y. за один раз мальчик может забрать из любой кучки один камень и положить его в другую кучу. вася хочет сделать так, чтобы хотя бы в одной куче осталось ровно z камней. составьте алгоритм, который определяет, может ли он достичь поставленной цели, и если да, то какое наименьшее количество переложений ему знадободиться для этого. нужен код на любом из этих языков: python, c, c++, pascal

Показать ответ
Ответ:
venzelvika
venzelvika
01.10.2020 22:45
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.
0,0(0 оценок)
Ответ:
Pomogiteπ
Pomogiteπ
01.10.2020 22:45
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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота