М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Love1963sss
Love1963sss
21.06.2022 07:41 •  Информатика

Ваня придумал новый алгоритм сортировки и сейчас тренируется на кубиках с цифрами, чтобы понять, как он работает. перед ним на столе лежат кубики с числами от 1 до 10 (на каждом кубике записано одно число), выложенные в таком порядке: 5 4 10 1 6 7 8 9 2 3 за одну операцию ваня берет несколько рядом стоящих кубиков как одну конструкцию, переворачивает и кладет на прежнее место. например, если бы кубики лежали в таком порядке: 1 2 3 4 5 6 7 8 9 10, а ваня взял бы кубики начиная с кубика с цифрой 4 и заканчивая кубиком с цифрой 9 и перевернул бы, то получилась бы такая последовательность: 1 2 3 9 8 7 6 5 4 10. то, что какие-то кубики после выполнения подобных операций окажутся лежащими вверх ногами, ваню не смущает. кроме того, ваня различает кубик с цифрой 6 и кубик с цифрой 9 (они разного цвета, поэтому невозможно одну цифру получить из другой при перевороте). ване понять, какое наименьшее количество таких операций потребуется, чтобы кубики стали лежать в порядке возрастания: 1 2 3 4 5 6 7 8 9 10. комментарий. если бы у него было всего 4 кубика и они лежали в таком порядке: 4 1 3 2, то наименьшее количество операций было бы равно двум: сначала переворачиваем кусок из первых двух кубиков слева, получаем 1 4 3 2, затем переворачиваем кусок из трех кубиков справа, получаем 1 2 3 4.

👇
Открыть все ответы
Ответ:
nsmorizevs
nsmorizevs
21.06.2022
// PascalABC.NET 3.2, сборка 1325 от 19.10.2016
begin
  var a:=106.Step(6).Take(15).ToArray; a.Println
end.

Результат
106 112 118 124 130 136 142 148 154 160 166 172 178 184 190

// PascalABC.NET 3.2, сборка 1325 от 19.10.2016
begin
  var b:=ArrRandom(30,-50,50); b.Println;
  var a:=ReadInteger('Введите число А:');
  Writeln('Сумма отрицательных: ',b.Where(x->x<0).Sum);
  Writeln('Cумма положительных, не больших ',a,', равна ',
    b.Where(x->(x>0) and (x<=a)).Sum)
end.

Пример
-21 12 8 50 -47 35 45 -2 -30 -33 3 12 41 -29 8 2 -24 -44 -50 -2 -13 -32 33 -29 35 -43 20 -44 42 -3
Введите число А: 36
Сумма отрицательных: -446
Cумма положительных, не больших 36, равна 168
4,8(39 оценок)
Ответ:
1Тамблер1
1Тамблер1
21.06.2022
// PascalABC.NET 3.2, сборка 1334 от 12.11.2016
begin
  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
  a:=a.Select(x->x div 2).ToArray;
  a.Println;
  var k1,k2:integer;
  Write('Введите k1,k2 (k1<=k2<=',a.Length,'): '); Read(k1,k2);
  Writeln('Произведение элементов с номерами [',k1,':',k2,'] равно ',
    a[k1-1:k2].Aggregate(biginteger(1),(m,n)->m*n))
end.

Пример
n= 13
12 34 -4 -18 23 45 -7 49 47 11 -24 39 31
6 17 -2 -9 11 22 -3 24 23 5 -12 19 15
Введите k1,k2 (k1<=k2<=13): 3 8
Произведение элементов с номерами [3:8] равно -313632
4,6(5 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ