Задание №9 по информатике с Единой городской контрольной работы в декабре 2025 года в Москве Условие задачи: ------------------------------------------------------------------- (№ 8582) (ЕГКР-2025) В файле электронной таблицы 9-263.ods в каждой строке записаны семь целых чисел. Определите количество строк таблицы, для которых выполнены оба условия: – в строке есть одно число, которое повторяется трижды, остальные четыре числа различны; – максимальное число строки не повторяется. В ответе запишите только число. ------------------------------------------------------------------- Решение на python: k = 0 for s in open('9.txt'): l = [int(x) for x in s.split()] l3 = [x for x in l if l.count(x)==3] l1 = [x for x in l if l.count(x)==1] u1 = len(l3)==3 and len(l1)==4 u2 = l.count(max(l)) == 1 if u1 and u2: k+=1 print(k) * * * Решение на PascalABC.NET: ## var k:=0; foreach var s in ReadAlllines('9.txt') do begin var l:=s.TOIntegers.ToList; var l3:=l.Where(t->l.countof(t)=3).count=3; var l1:=l.Where(t->l.countof(t)=1).count=4; var u1:=l1 and l3; var u2:=l.countof(l.max)=1; if u1 and u2 then k+=1 end; k.print; Ответ: 1595
Информатика Сегодня
🌟 12 задание Информатика ЕГЭ задача № 8425 с сайта Полякова К.Ю. t.me/...inf Условие задачи 😳 ------------------------ На ленте исполнителя МТ в соседних ячейках записано двоичное представление целого положительного числа без ведущих нулей. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей справа от последовательности ячейке. Программа для исполнителя: λ 0 1 q0 λ, L, q1 - - q1 λ, S, q1 1,L, q1 0,L, q1 Команды движения каретки: L – влево, R – вправо, N – отсутствие сдвига, S – стоп. После выполнения программы на ленте оказалась двоичная запись числа 156. Определите десятичное значение наибольшего числа, меньшего, чем 10000, которое могло быть записано на ленте до начала работы программы. Код на python: for i in range(9999, 0, -1): s = bin(i)[2:] # инвертируем строку s2 = ''.join('1' if t == '0' else '0' for t in s) if int(s2, 2) == 156: print(i) break Код на PascalABC.NET: RAnge(9999,1,-1) .Where(s->dec(bin(s).Select(t->t='0'?'1':'0').joinToString,2) = 156) .first .print; ✨Ответ: 8035
Задача №15 ЕГЭ по информатике по мотивам сборника Крылова 2026 ********************************************************************************************************** (№ 8409) (И. Карпачёв) На числовой прямой дан отрезок A = [4; 82]; B – множество всех натуральных делителей числа 211, отличных от единицы и от самого числа 211; C – множество всех натуральных делителей некоторого натурального числа y, отличных от единицы и от самого числа y (число y таково, что множество C непустое). Укажите значение y, имеющее максимальное количество делителей, для которого выражение: ((x ∈ B) ∨ ¬(x ∈ A)) → ¬(x ∈ C) тождественно истинно (т.е. принимает значение 1 при любом натуральном значении переменной х)? ********************************************************************************************************** Решение на современном pascalabc.net ## uses school; function f(x,y:integer):boolean; begin var a:=x in range(4,82); var b:=x in 211.divisors?[1:^1]; var c:=x in y.divisors?[1:^1]; if not y.IsPrime then result:=(b or not a)<=(not c) else result:=false; end; (1..10000) .Where(y -> ((1..1000).All(x->f(x,y)))) .Select(y->(y, y.divisors.count)) .MaxBy(y->y[1]) .Print; Решение на python: def allDivs( x ): divs = [] d = 2 while d*d <= x: if x % d == 0: divs.append( d ) if x // d > d: divs.append( x//d ) d += 1 return sorted(divs) def f(x,y): a = 4<=x<=82 b = x in allDivs(211) c = x in allDivs(y) if len(allDivs(y))>0: return (b or (not a)) <=(not c) q = [] for y in range(1,10000): if all(f(x,y) for x in range(1,1000)): q+=[(y,len(allDivs(y)))] q.sort(key = lambda x: (x[1])) print(q[-1]) @Информатика Сегодня
📎 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;
