Нажимая на кнопку "Задать вопрос", я даю согласие на обработку персональных данных

Задать вопрос
Задать вопрос
  • Однажды программист Вася решил послать своему другу письмо. Он подробно рассказал в нем, как у него дела. И, в конце концов, вышло большое послание. Но почта не позволяет пересылать такие большие письма. После долгих раздумий Вася решил его сжать и для этого придумал оригинальный метод. Если подряд идут несколько одинаковых символов, а точнее три и более, то он их заменяет на их

    количество и символ, который повторяется. Но Вася был плохим программистом... Помогите ему сжать письмо.

    Входные данные: s

    Выходные данные:K

    Где: S-письмо не более 255 символов, K-сжатое письмо

    Пример ввода: GGHHHHGDDDDHHHKKKKKJJJ

    Пример вывода: GG4HG4D3H5K3J

    • 30 December 2020
    • Ответ оставил: LRSM

    PascalABC.NET 3.7:

    • ###
    • RS.AdjacentGroup.SelectMany(x → x.Len >= 3 ? x.Len + x[0] : x.Str).Pr

    Пояснение:

    RS - ReadString: Возвращает значение типа string, введенное с клавиатуры.

    AdjacentGroup: Группирует одинаковые подряд идущие элементы, получая последовательность массивов.

    SelectMany: Проецирует каждый элемент последовательности в новую последовательность и объединяет результирующие последовательности в одну последовательность.

    .Len - .Length: Длина массива.

    .Str - .JoinToString: Преобразует последовательность символов в строку, не используя разделитель (при последовательность другого типа данных в качестве разделителя используется пробел).

    .Pr - .Print: Выводит последовательность символов на экран, не используя разделитель (при последовательность другого типа данных в качестве разделителя используется пробел).

    Пример работы:

    • НЕ НАШЛИ ОТВЕТ?
    Если вас не устраивает ответ или его нет, то попробуйте воспользоваться поиском на сайте и найти похожие ответы по предмету школьной программы: информатика.
    На сегодняшний день (30.04.2026) наш сайт содержит 109576 вопросов, по теме: информатика. Возможно среди них вы найдете подходящий ответ на свой вопрос.
  • Нажимая на кнопку "Ответить на вопрос", я даю согласие на обработку персональных данных

    Ответить на вопрос

Последние опубликованные вопросы

Сообщение записанное буквами 32 символьного алфавита содержит 20 символов. Чему равен информационный объём этого сообщения в байтах? Объем видеопамяти для хранения страниц изображения при условии, что разрешающая способность двух с дисплея плана 640*350 пикселей, а количество используемых цветов-16? Комитет можно составить из 3 или 5 судей. Есть 5 кандидатов, точность предсказаний которых приведена в таблице. Составьте ансамбль судей, имеющий наибольшую из возможных точность предсказания. В ан... 16. Шифр кодового замка является двузначным числом. Буратино забыл код, но помнит, что сумма цифр этого числа, сложенная с их произведением, равна самому числу. Напишите все возможные варианты кода... S<13 и не s чётное Получено сообщение, информационный объем которого равен 32 битам. Чему равен этот объем в байтах Каждый переданный кодовый символ может принят ошибочно с фиксированным вероятностью P Решать задачку по этой формуле P(zj/Uk) = P/N-1 при j≠k I-p при j=k В дощечку в ряд вбито 10 гвоздиков, таким образом, получилось 9 последовательных промежутков между ними. Длины промежутков (подряд, слева направо) оказались равны 7, 2, 8, 4, 3, 9, 5, 1, 6. Между н... Кто может подсказать почему не работает секундомер? (не добирает 60 секунд следовательно не переходит на следующую минуту) язык Python import time from tkinter import * from datetime import datetim... Pyhon (Информатика) Решить задачу: На тренировках спортсмен ежедневно пробегает некоторую дистанцию, с каждым днем увеличивая ее на 10%. Составить программу, определяющую по расстоянию, преодоленн... совокупность средств и правил взаимодействия человека с компьютером​ Что такое информатика в ИБ кратко
*{ message }*