30.01.2024

Текстовый файл состоит из символов, обозначающих заглавные буквы латинского алфавита и цифры от 0 до 9 включительно. Определите в прилагаемом файле максимальное количество идущих подряд символов, которые могут представлять запись числа в шестнадцатеричной системе счисления. Программа на Питоне (Python). ЕГЭ по информатике

Текстовый файл состоит из символов, обозначающих заглавные буквы латинского алфавита и цифры от 0 до 9 включительно. Определите в прилагаемом файле максимальное количество идущих подряд символов, которые могут представлять запись числа в шестнадцатеричной системе счисления.

Для выполнения этого задания следует написать программу. Числа с незначащими нулями в ответ брать не следует.

Как будем решать задачу

Задачу на обработку строки, сохраненной в файле, решали ранее в этом блоге. (Задача. Последовательность максимальной длины, которая содержит буквы строго в алфавитном порядке, т.е. ABCD. Читать)

  • Считаем строку из файла
  • Получим все возможные подстроки конструкцией вложенных циклов (публикация Как получить все возможные подстроки из заданной строки)
  • В текущей подстроке проверим символ на принадлежность алфавиту 16-ой с.с. Если это так, будем копить счетчик 16-ых цифр.
  • Если счетчик 16-ых цифр равен длине подстроки, это значит, что в ней нет посторонних символов (также добавим условие, что первый символ подстроки это не цифра 0), найдем максимум длины подстроки, иначе прервем обработку подстроки break.

Программа решения задачи на языке Python

f = open('24_10724.txt')

s = f.readline()

m = 0

alf = '0123456789ABCDEF'

for i in range(len(s)):

    k = 0

    for j in range(i,len(s)):

        if s[j] in alf:

            k+=1

        if k==len(s[i:j+1]) and s[i:j+1][0]!='0':

            m = max(m,len(s[i:j+1]))

        else:

            break

print(m)

Ответ: 21

Комментариев нет:

Отправить комментарий