ahmetoadilnaz1
06.02.2021 17:58

Сдать решение задачи 2-Танец Задача 2: Танец
Для школьного праздника группа учащихся решила поставить танец, в котором иллюстрировалась бы работа алгоритма сортировки пузырьком. В этом танце учащиеся становятся в одну линию, после этого некоторые стоящие рядом танцоры могут меняться местами. Одновременные обмены запрещены, то есть пока одна пара танцоров меняется местами, другие остаются на своих местах.

В конце танца все девочки должны стоять в ряду слева, а все мальчики — справа. По данному первоначальному расположению мальчиков и девочек в ряду определите, какое минимальное число обменов им необходимо совершить, чтобы встать нужным образом.

Например, пусть первоначальная расстановка танцоров такая (буква «Д» обозначает девочку, буква «М» обозначает мальчика):

МДДМД
Тогда им необходимо выполнить 4 обмена. Запишем расстановку после каждого обмена, выделив жирным шрифтом пару, которая поменялась местами.

ДМДМД
ДМДДМ
ДДМДМ
ДДДММ
В этой задаче вам необходимо определить минимальное число обменов для следующих пяти первоначальных расстановок:

МДММДМД




Во второй расстановке сначала стоит 7 мальчиков, потом 8 девочек.

В третьей расстановке стоит 10 мальчиков, 10 девочек, 10 мальчиков, 10 девочек, 10 мальчиков, 10 девочек. Всего 60 танцоров.

В четвёртой расстановке 1 мальчик, 1 девочка, 2 мальчика, 2 девочки, 3 мальчика, 3 девочки, 4 мальчика, 4 девочки, 5 мальчиков, 5 девочек, 6 мальчиков, 6 девочек. Всего 42 танцора.

В пятой расстановке мальчики и девочки чередуются, всего 80 танцоров.

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

Для выполнения вычислений вы можете пользоваться компьютером (калькулятором, электронной таблицей, средой программирования).

Сдать решение

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Luna669
08.06.2023 06:09
1. "Школьное" решение

// PascalABC.Net 3.0, сборка 1066
var
  s,s1:string;
  i:integer;
  a:char;
begin
  Write('Введите натуральное число любой длины :'); Readln(s);
  Write('Введите цифру, которую надо удалить: '); Readln(a);
  s1:='';
  for i:=1 to Length(s) do
    if s[i]<>a then s1:=s1+s[i];
  Writeln('Результат: ',s1)
end.

Тестовый прогон:
Введите натуральное число любой длины :3141592653589793
Введите цифру, которую надо удалить: 5
Результат: 3141926389793

2. Современное решение (так в школе почему-то не учат)

// PascalABC.Net 3.0, сборка 1066
begin
  var s:=ReadString('Введите натуральное число любой длины :');
  var a:=ReadChar('Введите цифру, которую надо удалить: ');
  Write('Результат: ',s.Replace(a,''));
end.
0,0(0 оценок)
Ответ:
Leo200
07.04.2021 20:56
Проще всего складывать в столбик как обычные десятичные числа, но если в сумме число получится больше 8 (система восмиричная), то мы отнимаем 8, смотрим: меньше ли получившийся остаток 8, если нет, то снова отнимаем восемь и тогда записываем остаток, а в "ум" запишем число отнятых восьмерок

574+467=1263 (все числа в восьмиричной системе счисления)

так, складывая 4 и 7, получаем 11, что больше 8, поэтому отняв 8, получим цифру 3, которую и записываем как последнюю цифру числа (3 пишем, 1 в уме), далее складываем 6 и 7 и не забываем про 1, потому что в раз мы отняли всего одну восьмерку, получаем 14, но записываем только 6, а 1 в уме, затем 5, 4 и 1 - 2 пишем, 1  в уме, далее просто приписываем единицу, получаем 1263

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