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

Времени - до понедельника! не мало , за немалую работу. спам не принимается. пишите как можно больше мама пети однажды обеспокоилась порядком в его комнате. зайдя к нему в комнату, она увидела порядок, что ее несомненно порадовало. однако, она знала, что материнское сердце не обманешь, поэтому заглянула в шкаф и увидела там следующую картину: три стопки вещей, которые лежат явно неравномерно, что в последствии может к тому, что они свалятся в единую кучу, что весьма неэстетично выглядит. мама поставила перед петей : эти три стопки в порядок: перераспределить вещи так, чтобы в каждой из стопок вещей оказалось поровну. причем сделать это петя должен за наименьшее число перекладываний вещей между стопками. зная число вещей в каждой из трех стопок, петя легко написал программу, которая вычисляет наименьшее суммарное число вещей, которое необходимо переложить между стопками, чтобы в итоге в стопках вещей оказалось поровну или же выводит пользователю (программа) сообщение о том, что такое сделать невозможно. входные данные. на вход программе подается 3 числа: a, b, c – количество вещей в каждой из стопок. выходные данные. в результате работы программа должна вывести на экран единственное число – минимальное количество вещей, которое необходимо переложить, чтобы количество вещей в каждой из стопок стало одинаковым. если невозможно так разложить вещи, то выведите сообщение «impossible» (большими буквами, без кавычек). ограничения. 0 ≤ a, b, c ≤ 100. все числа целые. примеры. входные данные выходные данные 1 2 3 1 99 100 100 impossible № 2. «надуваем шарики» (100 ) ввод данных — с клавиатуры вывод данных — на экран ограничение времени — 1 секунда на тест сегодня в школе большой праздник – последний день учебного года! по этому случаю для украшения школьного здания необходимо надуть много шариков. вы с вашим другом петей – лучшие специалисты в школе по надуванию шариков. вы даже скоро поедете на олимпиаду по надуванию шариков! неудивительно, что именно вас двоих попросили надуть все шарики, необходимые для украшения школы. всего нужно надуть ровно n шариков. на надувание одного шарика необходимо потратить a единиц времени. каждый шарик должен быть целиком надут либо вами, либо петей. вы оба начинаете надувать шарики одновременно в момент времени 0 и действуете так, чтобы надуть все шарики как можно быстрее, другими словами, чтобы момент времени, когда все шарики надуты, наступил как можно раньше. напишите программу, которая вычисляет, сколько времени займет надувание всех шариков. входные данные ваша программа должна вводить с клавиатуры два целых числа n и a (именно в таком порядке). в тестах жюри эти числа будут удовлетворять следующим ограничениям: 0 < = n < = 100, 1 < = a < = 100. выходные данные выведите на экран одно целое число – минимальный возможный момент времени, к которому можно надуть все шарики. примеры ввод вывод пояснение 10 5 25 нужно надуть 10 шариков, на надувание каждого требуется 5 единиц времени. выгоднее всего будет каждому из вас надуть ровно по 5 шариков. тогда все шарики будут надуты за 5 * 5 = 25 единиц времени. 11 5 30 теперь нужно надуть 11 шариков. лучший вариант – одному из вас надуть 6 шариков, а другому – 5. больше времени будет затрачено на надувание 6-ти шариков: 6 * 5 = 30 единиц времени. № 3. «центральное отопление» (100 ) кар карыч с пином восемнадцать часов подряд распивали холодные молочные коктейли и закусывали их мороженым. после этого кар карыч свалился со страшной простудой, а пин решил провести в домик своему другу центральное отопление. расчет количества отопительных приборов необходимо производить строго по госту 800333-90-06*. для простоты пин решил купить простые батареи. согласно таблице 14.1.3 этого госта, каждая батарея обогревает определённый объём воздуха - ровно k кубометров. комната, которую собирается для своего друга обогреть пин, имеет следующие размеры: • высота h, • ширина w, • длина l. определите, какое минимальное количество батарей пину необходимо купить. учтите только, что если в домике у кар карыча температура будет ниже, чем по госту, кар карыч никогда не поправится. входные данные: с клавиатуры вводится четыре целых чисела –h, w, l, k ( где h, w, l < = 105, k < = 2•109) выходные данные: вывод на экран одно число минимальное количество батарей примеры: входные данные выходные данные 2 3 4 1 24

Показать ответ
Ответ:
ЮлиLove
ЮлиLove
04.10.2020 07:19
Program uborka;
var a,b,c: integer; //количество вещей в стопках
    k: real; //минимальное количество ходов. вещественное, т.к. результат деления
    sa: integer; //среднее арифметическое. к-во вещей должное быть в каждой стопке
begin
  writeln ('введите a, b и c через пробел');
  readln (a, b, c);
  if ((a+b+c) mod 3) = 0 //если сумма вещей делится на 3 нацело  
     then begin 
          sa:=((a+b+c) div 3); //среднее арифметическое выражаю через результат целочисленного деления, т.к иначе конфликт типов
          k:=(abs(sa-a)+abs(sa-b)+abs(sa-c))/2; //к-во шагов - это половина суммы модулей разности СА и каждой полки
          writeln (k)
         end
    else writeln ('IMPOSSIBLE')
end.



program shariki;
{n - всего шариков (от 0 до 100 вкл)
a - время на надувание 1-го шарика (от 1 до 100 вкл)
k - мах кол-во шариков, которое понадобится надуть одному из 2-ух мальчиков 
t - мин кол-во времени на надувание всех шариков двумя мальчиками}
var n, a, k, t: integer;   begin
  writeln ('введите n и a через пробел');
  readln (n,a);
  k:=(n div 2)+(n mod 2);//делим к-во шариков на 2 мальчика и прибавляем лишний при наличии
  t:=k*a;
  writeln (t)
end.



program otoplenie;
{k - кол-во кубометров на 1 батарею (<=2*109)
h - высота комнаты (<=105)
w - ширина комнаты (<=105)
l - длина комнаты  (<=105)}
var h, w, l, k, v, n: integer;     
begin
  writeln ('введите h, w, l, k через пробел');
  readln (h, w, l, k);  
  n:=((h*w*l) div k); 
  if ((h*w*l) mod k)>0 then n:=n+1;  
  {делим объем комнаты на объем воздуха для одной батареи (берем только целую часть). 
  если нацело не делится, то к целому от деления прибавляем еще 1 батарею для обогрева остатка}
  writeln (n)
end.
здесь, как я понимаю, вводимые данные не могут быть <= нулю, поэтому нулевые и отрицательные варианты не рассматривались 

 
0,0(0 оценок)
Популярные вопросы: Математика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота