Sndrey68085
01.06.2020 13:29

РОБОТЕХНИКА.Изучите программу, выясните ее назначение, составьте блок-схему.


РОБОТЕХНИКА.Изучите программу, выясните ее назначение, составьте блок-схему.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
нурбол5
06.01.2020 09:01
// PascalABC.NET 3.2, сборка 1427 от 24.04.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s1:=SeqRandom(ReadInteger('n1='),-50,50);
  var s2:=SeqRandom(ReadInteger('n2='),-50,50);
  var p:=ReadInteger('0-по неубыванию, иное- по невозрастанию:');
  var q1:=new Queue<integer>;
  foreach var m in s1 do q1.Enqueue(m);
  Write('Очередь 1: ',q1); Writeln;
  var q2:=new Queue<integer>;
  foreach var m in s2 do q2.Enqueue(m);
  Write('Очередь 2: ',q2); Writeln;
  // очереди сформированы
  var q:=new Queue<integer>;
  var a:=(q1.ToArray+q2.ToArray);
  var s:sequence of integer;
  if p=0 then s:=a.OrderBy(i->i)
  else s:=a.OrderByDescending(i->i).ToArray;
  foreach var m in s do q.Enqueue(m);
  Write('Очередь-результат: ',q); Writeln;
end.

Пример
n1= 10
n2= 7
0-по неубыванию, иное- по невозрастанию: 1
Очередь 1: [-26,6,26,-48,-21,-29,27,-39,5,-40]
Очередь 2: [50,36,37,46,18,41,-39]
Очередь-результат: [50,46,41,37,36,27,26,18,6,5,-21,-26,-29,-39,-39,-40,-48]
0,0(0 оценок)
Ответ:
Kata8i77866
21.05.2022 16:38
Будем последовательно решать задачу для первых i символов кода, основываясь на ответах для i - 1 и i - 2. Заметим, что если i-й символ кода равен 0 или ответа для i - 1 не существует, то ответ для i получается добавлением одного символа к ответу для i - 2, если последние две цифры кода нельзя понять, как зашифрованную букву, или ответа для i - 2 не существует, то надо добавить символ к i - 1, а иначе сравнить длины ответов и добавить букву к тому, кто короче.

Код (python 3.5):
codes = "."
with open('input.txt', 'r') as f:
    encoded = list(map(int,list(f.read(
if len(encoded) == 1:
    print(codes[encoded[0]])
else:
    decoded = [codes[encoded[0]], ""]
    for i in range(1, len(encoded)):
        if (decoded[0] is None) or (encoded[i] == 0):
            decoded = [decoded[1] + codes[10*encoded[i-1] + encoded[i]], decoded[0]]
        elif (10*encoded[i-1] + encoded[i]>26) or (decoded[1] is None) or \
            (len(decoded[1]) >= len(decoded[0])):
            decoded = [decoded[0] + codes[encoded[i]], decoded[0]]
        else:
            decoded = [decoded[1] + codes[10*encoded[i-1] + encoded[i]], decoded[0]]
    with open('output.txt', 'w') as f:
        f.write(decoded[0])
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота