Найти в Дзене
📎 24 задание на обработку строк решаем через регулярные выражения (№ 5645) (П. Финкель) Текстовый файл 24-230.txt состоит не более чем из 10^6 символов и содержит буквы английского алфавита и цифры. Определите максимальное число в этом файле, ограниченное двумя парами символов ZZ и удовлетворяющее маске «8???54???22», где символ ? обозначает любую цифру. Пример такого числа: 81235412322. Найдите произведение нечётных цифр найденного числа. #regex #регулярки #findall Решение на Python: import re s=open('24-230.txt').readline() l=re.findall(r'ZZ8\d{3}54\d{3}22ZZ',s) t = (max(int(x[2:-2]) for x in l)) p = 1 for x in str(t):   if x in '13579':    p*=int(x) print(p) Решение на pascalabc.net ## ReadAllText('24-230.txt') .MatchValues('ZZ8\d{3}54\d{3}22ZZ') .Select(t->t[3:^2].ToBigInteger) .max.ToString .Where(t->t in '13579') .Select(t->StrToInt(t)) .Product .Print;
4 месяца назад
Решаем 24.4917 задание через регулярные выражения (№ 4917) Текстовый файл 24-191.txt содержит строку из заглавных латинских букв, всего не более чем из 10^6 символов. Определите количество подстрок длиной не менее 20 символов, которые начинаются буквой A, заканчиваются буквой B и не содержат других букв A и B, кроме первой и последней. Pascal: ## ReadAllText('24-191.txt') .MatchValues('[A][C-Z]+[B]') .Select(s -> s.Length) .count(t -> t >= 20) .print; Python import re k=0 s=open('24-191.txt').readline() r=re.findall(r'[A][C-Z]+[B]',s) print(len([x for x in r if len(x)>=20]))
5 месяцев назад
finditer() vs findall() Если вы осваиваете регулярные выражения, то в какой-то момент у вас возникнем вопрос: "В чем разница между функциями finditer() и findall()". Простой пример на python иллюстрирует эту разницу: import re s = 'ABBCAABAAAABD' r = re.finditer(r'(AA)+',s) r2 = re.findall(r'(AA)+',s) for x in r:   print(x[0]) print('---') for x in r2:   print(x)
5 месяцев назад
Основные функции библиотеки school; ## uses school; println('{Системы счисления}'); var x:=Random(100); println(x); bin(x).Println; oct(x).Println; hex(x).Println; ToBase(x,28).Println; //Перевод в 28-ю систему счисления Dec('28FDN6',31).println; //Перевод из 31-й системы счисления x.Digits.Println;  //Список цифр числа в десятичной системе счисления x.Digits(6).Println;  //Список цифр числа в 6-ной системе счисления println('{Простые числа}'); x.isPrime.Println; Primes(x).Println; //Простые числа на интервале [2;x] (Решето Эратосфена) Primes(100,100000000).count.Print; //Кол-во простых числа на интервале [2;x] PrimeDivisorsCount(x).Println; //Количество простых делителей числа x println('{НОД НОК}'); НОД(1100,1260).Println; GCD(1100,1260).Println; НОК(25,30).Println; LCM(25,30).Println; println('{Факторизация и делители}'); x.Divisors.Println; //Все делители числа x.Factorize.Println; //Разложение числа на простые множители (x.Divisors.count-2).Println; //Кол-во нетривиальных делителй x.DivisorsCount.Println;   //Кол-во делителй x.Divs(5).println;   //Делится ли на 5 x.DivsAll(|2,5,7|).Println;  //Возвращает True если целое делится на все значения x.DivsAny(|2,5,7|).Println;  //Возвращает True если целое делится на одно из значений
6 месяцев назад
Задача 24 ЕГЭ Информатика. Основная волна экзамена 2023 (№ 6676) (ЕГЭ-2023) Текстовый файл 24-264.txt состоит не более чем из 106 символов и содержит только заглавные буквы латинского алфавита и цифры. Определите максимальную длину подстроки, которая может являться записью числа в шестнадцатеричной системе счисления. Видео разбор задания: dzen.ru/...a71
133 читали · 1 год назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала