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

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

👇
Ответ:
rsobal45gmailcom
rsobal45gmailcom
06.06.2022
# Код на ruby 2.2.3p173
def zadanie(results)
    results = results.sort.reverse
    return [results[0], results[1]]
end

# Примеры применения
p zadanie([1,2,7,8,6,4,8,8,4,9])
4,7(97 оценок)
Открыть все ответы
Ответ:
Program ryazantsev;
var n,k,i,b,sum:integer;
begin
readln(n,k);
sum:=trunc((1+n)/2*n); //Преобразование типа real к int, trunc можно безопасно использовать, т.к. сумма n членов арифметической последовательности целых чисел - всегда целое число
if sum mod k <> 0 then writeln(0)
else begin
for i:=1 to k do begin
b:=1;
while b<n/k do begin
write(i+b-1, ' ', n-i-b+2, ' ');
b:=b+k
end;
writeln()
end
end;
end.

Пример входных данных, при которых программа выведет ноль: 6 2

И ещё, задачка должна быть оценена явно больше, чем на пять )
4,4(89 оценок)
Ответ:
милана761
милана761
06.06.2022
//PascalABC.NET
//Версия 3.3, сборка 1634 (14.02.2018)

begin
   var (n, k) := ReadInteger2('n,k->');
   var p := ArrGen(n, t -> t + 1); 
   var m := new integer[k, n div k];
   var sum := p.Sum div k;
   for var i := 0 to k - 1 do
   begin
      var m_sum := sum;
      m[i, 0] := p[0]; m_sum := m_sum - m[i, 0];
      p := p[1:];
      for var j := 1 to (n div k) - 1 do
      begin
         if m_sum - p.Last > 0 then begin m[i, j] := p.max;  m_sum := m_sum - p.Max; p := p[:p.IndexMax]; end
         else 
         begin
            if p.Where(t -> t = m_sum).Count = 1 then m[i, j] := m_sum;
            p := p.Where(t -> t <> m_sum).ToArray;
         end;                                                 
     end;
   end; 
   var t := true;
   for var i := 0 to m.RowCount - 2 do
     if (m.Row(i).sum <> m.Row(i + 1).Sum) or (p.Length <> 0) then begin t := false; break; end;
   if t then m.Println else 0.Println;
end.

Пример(1):
 n,k-> 8 2
   1   8   7   2
   3   6   5   4

Пример(2):
 n,k-> 6 3
   1   6
   2   5
   3   4
4,5(81 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ