В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Лешик2005
Лешик2005
13.08.2022 06:59 •  Информатика

Некоторый ал¬го¬ритм из одной це¬поч¬ки сим¬во¬лов по¬лу¬ча¬ет новую це¬поч¬ку сле¬ду¬ю¬щим образом. Сна¬ча¬ла вы¬чис¬ля¬ет¬ся длина ис¬ход¬ной це¬поч¬ки символов; если она нечётна, то дуб¬ли¬ру¬ет¬ся сред¬ний сим¬вол це¬поч¬ки символов, а если чётна, то в се¬ре¬ди¬ну це¬поч¬ки до-бав¬ля¬ет¬ся буква А. В по¬лу¬чен¬ной це¬поч¬ке сим¬во¬лов каж¬дая буква за¬ме¬ня¬ет¬ся буквой, сле-ду¬ю¬щей за ней в рус¬ском ал¬фа¬ви¬те (А — на Б, Б — на В и т. д., а Я — на А). По¬лу¬чив¬ша¬я-ся таким об¬ра¬зом це¬поч¬ка яв¬ля¬ет¬ся ре¬зуль¬та¬том ра¬бо¬ты алгоритма.
Например, если ис¬ход¬ной была це¬поч¬ка КОТ, то ре¬зуль¬та¬том ра¬бо¬ты ал¬го¬рит¬ма будет це¬поч¬ка ЛППУ, а если ис¬ход¬ной была це¬поч¬ка ВАНЯ, то ре¬зуль¬та¬том ра¬бо¬ты ал¬го¬рит¬ма будет це¬поч¬ка ГББОА.
Дана це¬поч¬ка сим¬во¬лов ЛЮК. Какая це¬поч¬ка сим¬во¬лов получится, если к дан¬ной це-поч¬ке при¬ме¬нить опи¬сан¬ный ал¬го¬ритм два¬жды (т. е. при¬ме¬нить ал¬го¬ритм к дан¬ной цепочке, а затем к ре¬зуль¬та¬ту вновь при¬ме¬нить алгоритм)? Рус¬ский алфавит:

Показать ответ
Ответ:
petrovaanastasia26
petrovaanastasia26
11.12.2022 10:32
В начале в строке находилось 333 троек по 8 плюс одна 8, всего 1000 восьмерок.
1. При выполнения цикла каждая из троек 8 будет заменена на одну 9. Значит у нас получится строка длиной в 334 символа, где 333 девятки и последний символ - восьмерка
2. Далее 333 девятки заменятся на 111 восьмерок плюс последняя восьмерка - всего получим 112 восьмерок
3. Из 112 восьмерок получится 37 девяток и одна восьмерка
4. И 37 девяток получим 12 восьмерок плюс одна девятка и плюс последняя восьмерка
5. 12 восьмерок дадут 4 девятки плюс последние 9 и 8
6. И наконец получаем строку 8998
ответ: 8998
0,0(0 оценок)
Ответ:
ладаседан7
ладаседан7
25.06.2020 08:10
Var m : array[0..6] of Integer;
  i,k,N : Integer;
Begin
  For i:=0 to 6 do m[i]:=0;
  Readln(N);
  k:=6;
  While N>0 do
  Begin
    If N>=Power(2,k) then
    Begin
      N:=N-Trunc(Power(2,k));
      Inc(m[k]);
    end else Dec(k);
  end;
  For i:=0 to 6 do Writeln(Power(2,i),'  ',m[i],' шт.');
end.

Еще вариант:
Const
  NN = 7;
  money : array[1..7] of Integer = (1,2,4,8,16,32,64);
Var m : array[1..NN] of Integer;
  i,k,N : Integer;
Begin
  For i:=1 to NN do m[i]:=0;
  Readln(N);
  k:=NN;
  While N>0 do
  Begin
    If N>=money[k] then
    Begin
      N:=N-money[k];
      Inc(m[k]);
    end else Dec(k);
  end;
  For i:=1 to NN do Writeln(money[i],'  ',m[i],' шт.');
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота