Есть ответ 👍

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

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

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

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

МДММДМД




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

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

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

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

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

135
305
Посмотреть ответы 1

Ответы на вопрос:


// pascalabc.net 3.2, сборка 1387 от 20.02.2017 // внимание! если программа не работает, обновите версию! begin   var n: =readinteger('n=');   var a: =readarrinteger('вводите данные: ',n); a.println;   var s: =a.where(x-> (x> 9) and (x< 100) and (x mod 10=7));   if s.count=0 then writeln('таких чисел нет')   else writeln(s.sum) end. пример n= 5 вводите данные: 45 -38 27 -17 47 45 -38 27 -17 47 74 // pascalabc.net 3.2, сборка 1387 от 20.02.2017 // внимание! если программа не работает, обновите версию! function sod(n: integer): integer; begin   var s: =abs(n).tostring;   result: =s.select(c-> c.todigit).sum end; begin   var a: =arrrandom(readinteger('n=',999); a.println;   a: =a.select(x-> sod(; a.println end. пример n= 10 -252 814 -239 -157 792 -223 697 -482 616 -675 9 13 14 13 18 7 22 14 13 18 // pascalabc.net 3.2, сборка 1387 от 20.02.2017 // внимание! если программа не работает, обновите версию! begin   var n: =readinteger('n=');   var a: =readarrinteger('вводите данные: ',n); a.println;   writeln('четных чисел ',a.where(x-> x.iseven).count);   writeln('нечетных чисел ',a.where(x-> x.isodd).count); end. пример n= 16 вводите данные: 34 -345 21321 643 1 0 325 2312 236 -324 -3242 7 12 7 12 50 34 -345 21321 643 1 0 325 2312 236 -324 -3242 7 12 7 12 50 четных чисел 9 нечетных чисел 7

Популярно: Информатика