Найти в Дзене
суперграссманиан

Шпаргалка для ЕГЭ по информатике 2025

5 задача for n in range(10,100):
a=bin(n)[2:]
if a.count('1')%2==0:
a=a+'0'
a=a[2:]
a='1'+a
else:
a=a+'1'
a=a[2:]
a='11'+a
r=int(a,2)
if r>49:
print(n,';',r) Используем в Excel Формулы-Инженерные-(двоич.в дес, дес.в двоичные) Текстовые формулы – ЛЕВСИМВ, ПРАВСИМВ, ПСТР ПСТР (выбирает нужное количество символов с заданной позиции) ПСТР(ячейка, номер символа, сколько символов) СЦЕПИТЬ (соединяет текст из ячеек)  turtle – библиотека графического вывода. Черепаха ползает по экрану и рисует. Управляется при помощи программы from turtle import *
k=10#длина шага
# рисуем оси координат
goto(0,0)# встать в центр (0,0)
forward(50*k)
forward(-100*k)
forward(50*k)
left(90)
forward(50*k)
forward(-100*k)
#up()#поднять хвостик
goto(-800,-800)
fd(100*k)
rt(90)
fd(100*k)
rt(30)
down()#опуститить хвостик
for i in range(10):
fd(25*k)
rt(90)
up()
# рисуем точки
for x in range(5, 20):
for y in range(-16, 25):
Оглавление
просто перерисуйте
просто перерисуйте
-2
print ('x y z w') for x in range(0, 2):     for y in range(0, 2):
        for z in range(0, 2):
            for w in range(0, 2):
                if ((x<=y) or (not(w<=z))) == 0:
                    print(x,y,z,w)
print ('x y z w') for x in range(0, 2): for y in range(0, 2): for z in range(0, 2): for w in range(0, 2): if ((x<=y) or (not(w<=z))) == 0: print(x,y,z,w)
-4

будет три листа, в каждом листе установите фильтры
будет три листа, в каждом листе установите фильтры
-6
обратите внимаение, вы получите ответ в упаковках, но упаковка по 0,5 кг. Так что в ответе нужно количество упаковок разделить на 2
обратите внимаение, вы получите ответ в упаковках, но упаковка по 0,5 кг. Так что в ответе нужно количество упаковок разделить на 2
-8

-9
ответ 14.
ответ 14.
-11
-12

5 задача

-13
-14
-15
-16
-17
-18

for n in range(10,100):
a=bin(n)[2:]
if a.count('1')%2==0:
a=a+'0'
a=a[2:]
a='1'+a
else:
a=a+'1'
a=a[2:]
a='11'+a
r=int(a,2)
if r>49:
print(n,';',r)

-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29

Используем в Excel

Формулы-Инженерные-(двоич.в дес, дес.в двоичные)

Текстовые формулы – ЛЕВСИМВ, ПРАВСИМВ, ПСТР

ПСТР (выбирает нужное количество символов с заданной позиции)

ПСТР(ячейка, номер символа, сколько символов)

СЦЕПИТЬ (соединяет текст из ячеек)

-30
что делать если число больше 256? Тогда только прогой
что делать если число больше 256? Тогда только прогой
-32
-33
-34
-35
-36

6 задача

-37

Нам нужно понять, что тут черепаха нарисова. Используем для этого модуль
Нам нужно понять, что тут черепаха нарисова. Используем для этого модуль

 turtle – библиотека графического вывода. Черепаха ползает по экрану и рисует. Управляется при помощи программы

from turtle import *
k=10#длина шага
# рисуем оси координат
goto(0,0)# встать в центр (0,0)
forward(50*k)
forward(-100*k)
forward(50*k)
left(90)
forward(50*k)
forward(-100*k)
#up()#поднять хвостик
goto(-800,-800)
fd(100*k)
rt(90)
fd(100*k)
rt(30)
down()#опуститить хвостик
for i in range(10):
fd(25*k)
rt(90)
up()
# рисуем точки
for x in range(5, 20):
for y in range(-16, 25):
goto(x*k,y*k)
dot(4,'red')#рисует круглую точку с диметром 4

exitonclick()

Сделаем оси. Чтоб лучше было видно рисунок.

from turtle import * import turtle
turtle.pencolor("brown")
turtle.fd(500)# сокращаем forward 
turtle.fd(-1000)
turtle.fd(500)
turtle.left(90)
turtle.fd(500)
turtle.fd(-1000)
turtle.fd(500)
count=0
turtle.pencolor("blue")
while count<4:
    turtle.fd(70)
    turtle.rt(90) # сокращаем right
    turtle.fd(80)
    turtle.rt(90)
    count=count+1
turtle.exitonclick() # выключаем графику по щелчку
from turtle import * import turtle turtle.pencolor("brown") turtle.fd(500)# сокращаем forward turtle.fd(-1000) turtle.fd(500) turtle.left(90) turtle.fd(500) turtle.fd(-1000) turtle.fd(500) count=0 turtle.pencolor("blue") while count<4: turtle.fd(70) turtle.rt(90) # сокращаем right turtle.fd(80) turtle.rt(90) count=count+1 turtle.exitonclick() # выключаем графику по щелчку
посчитать точки можно в Excel. Квадратные ячейки при высоте ячейки 26,25 и ширине столбца 4,29.
посчитать точки можно в Excel. Квадратные ячейки при высоте ячейки 26,25 и ширине столбца 4,29.
-41

Но можно делать вообще не думая

Шаг № 1 Поймем, что за фигура, подрегулируем количество ходов чтобы фигура был замкнутой

from turtle import *
fd(500)
fd(-1000)
fd(500)
lt(90)
fd(500)
fd(-1000)
fd(500)
up()
fd(100)
rt(90)
fd(100)
rt(30)
down()
for i in range(4):
fd(25)
rt(90)
exitonclick()

а теперь с чистой совестью считаем точки

-42

from turtle import *
color ('black', 'red')
speed(100)# для ускорения
m=100
up()
fd(100*m)
rt(90)
fd(100*m)
rt(30)
down()
#Для закрашивания фигуры в модуле
#turtle используется команда begin_fill()
begin_fill()
for i in range(4):
fd(25*m)
rt(90)
end_fill()
# это стандартный блок просто следим чтоб множество точек покрывало фигуру
canvas=getcanvas()
cnt=0
for y in range (2*m,200*m,m):
for x in range (2*m,200*m,m):
item=canvas.find_overlapping(x,y,x,y)#создаем список пересечения прямоугольника из точек и фигуры
if len(item)==1 and item[0]==5:
cnt=cnt+1
print(cnt)
#done()
exit()

7 задача

-43
-44

-45
-46
считайте в excel, не надо на бумажке
считайте в excel, не надо на бумажке
-48
но лучше считайте в Excel
но лучше считайте в Excel
-50
-51
-52
-53
-54

8 задача

-55
-56
-57
-58
k=0 w=''
for x1 in 'МАТВЕ':
    for x2 in 'МАТВЕЙ':
        for x3 in 'МАТВЕЙ':
            for x4 in 'МАТВЕЙ':
                for x5 in 'МАТВЕЙ':
                    for x6 in 'МАТВЕЙ':
                        w=x1+x2+x3+x4+x5+x6
                        if w.count ('АЕ')==0:
                            if w.count ('М')==1:
                                if w.count ('А')==1:
                                    if w.count ('Т')==1:
                                        if w.count ('В')==1:
                                            if w.count ('Е')==1:
                                                if w.count ('Й')==1:
                                                    k=k+1
print (k)
k=0 w='' for x1 in 'МАТВЕ': for x2 in 'МАТВЕЙ': for x3 in 'МАТВЕЙ': for x4 in 'МАТВЕЙ': for x5 in 'МАТВЕЙ': for x6 in 'МАТВЕЙ': w=x1+x2+x3+x4+x5+x6 if w.count ('АЕ')==0: if w.count ('М')==1: if w.count ('А')==1: if w.count ('Т')==1: if w.count ('В')==1: if w.count ('Е')==1: if w.count ('Й')==1: k=k+1 print (k)
k=0 w=''
for x1 in '1234567':
    for x2 in '01234567':
        for x3 in '01234567':
            for x4 in '01234567':
                for x5 in '01234567':
                    w=x1+x2+x3+x4+x5
                    if w.count ('6')==1:
                        if w.count ('61')==0:
                            if w.count ('16')==0:
                                if w.count ('63')==0:
                                    if w.count ('36')==0:
                                       if w.count ('65')==0:
                                           if w.count ('56')==0:
                                               if w.count ('67')==0:
                                                   if w.count ('76')==0:
                                                       k=k+1
#Метод count() возвращает количество раз, когда указанный элемент появляется в списке.
k=0 w='' for x1 in '1234567': for x2 in '01234567': for x3 in '01234567': for x4 in '01234567': for x5 in '01234567': w=x1+x2+x3+x4+x5 if w.count ('6')==1: if w.count ('61')==0: if w.count ('16')==0: if w.count ('63')==0: if w.count ('36')==0: if w.count ('65')==0: if w.count ('56')==0: if w.count ('67')==0: if w.count ('76')==0: k=k+1 #Метод count() возвращает количество раз, когда указанный элемент появляется в списке.
a='0123456' k=0
w=''
for x1 in a:
    for x2 in a:
        for x3 in a:
            for x4 in a:
                for x5 in a:
                    for x6 in a:
                        for x7 in a:
                            w=x1+x2+x3+x4+x5+x6+x7
                            if (w[0]!='0' and w[0]!='3' and w[0]!='5'):
                                if not ('22' in w and '44' in w):
                                    k=k+1
print (k)
a='0123456' k=0 w='' for x1 in a: for x2 in a: for x3 in a: for x4 in a: for x5 in a: for x6 in a: for x7 in a: w=x1+x2+x3+x4+x5+x6+x7 if (w[0]!='0' and w[0]!='3' and w[0]!='5'): if not ('22' in w and '44' in w): k=k+1 print (k)

9 задача

-62
шаг 1. Находим дубликаты. В синий столбец записываем сумму количества дубликатов и фильтруем. Сумма должна быть равна 1
шаг 1. Находим дубликаты. В синий столбец записываем сумму количества дубликатов и фильтруем. Сумма должна быть равна 1
-64
-65
-66

МАКС МИН МЕДИАНА СРЕДНЕЕ (чтобы отсортировать три числа в строку), (статистические функции), Логические, Остаток

как отсортировать строку по возрастанию/убыванию

-67
-68

10 задача

-69

11 задача

-70
-71
-72
-73
-74
-75
-76
-77
-78
-79

12 задача

-80
-81
-82
-83

В Python сумму цифр числа можно вычислить с помощью функции sum, сначала потребуется преобразовать число в последовательность чисел, для этого число преобразуется в строку (функцией str) и каждый символ этой строки преобразуется в число (функцией map с параметром функции преобразования int) sum(map(int,str(n)­))

for i in range(1,100):#i - это n, мы должны его отгадать     s = '>'+39*'0'+i*'1'+39*'2'
    while '>1' in s or '>2' in s or '>0' in s:
        if '>1' in s:
            s=s.replace('>1','22>',1)
        if '>2' in s:
            s=s.replace('>2','2>',1)
        if '>0' in s:
            s=s.replace('>0','1>',1)
    #print(s)
    s=s.replace('>','0')#> нельзя считать сумму
    summa=sum(map(int, str(s)))
    print(summa)
    print(i)
for i in range(1,100):#i - это n, мы должны его отгадать s = '>'+39*'0'+i*'1'+39*'2' while '>1' in s or '>2' in s or '>0' in s: if '>1' in s: s=s.replace('>1','22>',1) if '>2' in s: s=s.replace('>2','2>',1) if '>0' in s: s=s.replace('>0','1>',1) #print(s) s=s.replace('>','0')#> нельзя считать сумму summa=sum(map(int, str(s))) print(summa) print(i)
-85
-86
-87
-88

a=[]
for k in range (5, 100):
for n in range (5, 100):
s=k*'2'+n*'5'
while '25' in s or '355' in s or '555' in s:
if '25' in s:
s=s.replace('25','5',1)
if '355' in s:
s=s.replace('355','52',1)
if '555' in s:
s=s.replace('555','3',1)
if s.count('2')>0:
if s.count('3')>0:
if s.count('5')>0:
if s.count('2')% 2==0:
a.append (k+n)
print(min(a))

13 задача

-89

14 задача

-90

нам понадобятся степени числа 15
нам понадобятся степени числа 15
ну а теперь решение
ну а теперь решение
-93
-94
-95
-96
-97
-98

15 задание

-99
-100
-101

-102
def D(n,m):     if n%m==0:
        return True
    else:
        return False
for A in range(1, 1000):
    k=0
    for x in range(1, 1001):
        if (D(x, 2) <= (not(D(x, 3))) or (x+A>=100)):
            k=k+1
    if k==1000:
        print(A)
def D(n,m): if n%m==0: return True else: return False for A in range(1, 1000): k=0 for x in range(1, 1001): if (D(x, 2) <= (not(D(x, 3))) or (x+A>=100)): k=k+1 if k==1000: print(A)

-104
def D(n, m):     if n%m==0:
        return True
    else:
        return False

for A in range(1, 1000):
    k=0
    for x in range(1, 1001):
        if D(x, A) or (not(D(x, 18)) or not(D(x, 81))):
            k=k+1
    if k==1000:
        print(A)
def D(n, m): if n%m==0: return True else: return False for A in range(1, 1000): k=0 for x in range(1, 1001): if D(x, A) or (not(D(x, 18)) or not(D(x, 81))): k=k+1 if k==1000: print(A)
-106
for A in range(0, 300):     k=0
    for x in range(1, 301):
        for y in range(1, 301):
            if ((x*x >A) or (x<=7)) and ((y >=4) or (y*y<=A)):
                k=k+1
    if k==90000:
        print(A)
for A in range(0, 300): k=0 for x in range(1, 301): for y in range(1, 301): if ((x*x >A) or (x<=7)) and ((y >=4) or (y*y<=A)): k=k+1 if k==90000: print(A)
-108
for A in range(0, 300):     k=0
    for x in range(1, 301):
        for y in range(1, 301):
            if (x >= A) or (y >= A) or (x * y <= 200):
                k=k+1
    if k==90000:
        print(A)
for A in range(0, 300): k=0 for x in range(1, 301): for y in range(1, 301): if (x >= A) or (y >= A) or (x * y <= 200): k=k+1 if k==90000: print(A)
-110
for A in range(0, 300):     k=0
    for x in range(1, 301):
        for y in range(1, 301):
            if not( (x < A) and (y < A) and (x * y > 601) ):
                k=k+1
    if k==90000:
        print(A)
for A in range(0, 300): k=0 for x in range(1, 301): for y in range(1, 301): if not( (x < A) and (y < A) and (x * y > 601) ): k=k+1 if k==90000: print(A)
-112
-113
-114
-115
-116
-117
-118

16 задача

-119

а вот здесь и не нужен никакой код
а вот здесь и не нужен никакой код
-121
def f(n):     if n==1:
        return 1
    else:
        if n%2==0:
            return n+f(n-1)
        else:
            return 2*f(n-2)
print (f(26))
def f(n): if n==1: return 1 else: if n%2==0: return n+f(n-1) else: return 2*f(n-2) print (f(26))

17 задача

внимательно читаем условие. Итак шаг раз. Найдем максимальный элемент оканчивающийся на 5
внимательно читаем условие. Итак шаг раз. Найдем максимальный элемент оканчивающийся на 5
отсортируем по возрастанию и глазами посмотрим
отсортируем по возрастанию и глазами посмотрим
если число оканчивается на 3, значит остаток от деления на 10 равен 3. А потом формируем пары, помним, что только ОДНО число в паре должно оканчиваться на 3.
если число оканчивается на 3, значит остаток от деления на 10 равен 3. А потом формируем пары, помним, что только ОДНО число в паре должно оканчиваться на 3.
-126

МАКС МИН МЕДИАНА СРЕДНЕЕ (чтобы отсортировать три числа в строку), (статистические функции), Логические, Остаток

18 задача

-127
заполните вверх и боковину таблицы, затем ячейку В23, протащите формулу, а затем скопируйте около стен форму с боковины и верха. После этого скопируйте лист и заметите знак в формуле в ячеке В23
заполните вверх и боковину таблицы, затем ячейку В23, протащите формулу, а затем скопируйте около стен форму с боковины и верха. После этого скопируйте лист и заметите знак в формуле в ячеке В23
-129

19 задача

-130
-131
-132

-133
-134
-135
-136
-137

22 задача

-138
-139

23 задача

-140
def f(x,y):     if x==y:
        return 1 
    if x>y or x==17:
        return 0
    if x<y:
        return f(x+1, y) + f(x*2, y)
print(f(1, 10)*f(10, 35))
def f(x,y): if x==y: return 1 if x>y or x==17: return 0 if x<y: return f(x+1, y) + f(x*2, y) print(f(1, 10)*f(10, 35))

def f(x,y): if x==y:
return 1
if x>y or x==23:
return 0
if x<y:
return f(x+1, y) + f(x*2, y)
print(f(3, 12)*f(12, 27))

def f(x,y,n):     if x==y:
        return 1
    if x>y:
        return 0 
    if x<y:
        if n==0:
            return f(x+1, y,0) + f(x+2, y,0)+ f(x*2, y,1)
        else:
            return f(x+1, y,0) + f(x+2, y,0)
           print(f(1, 11,0))
def f(x,y,n): if x==y: return 1 if x>y: return 0 if x<y: if n==0: return f(x+1, y,0) + f(x+2, y,0)+ f(x*2, y,1) else: return f(x+1, y,0) + f(x+2, y,0) print(f(1, 11,0))
-143
-144
-145
-146
-147
-148

24 задача

-149

-150
-151

файл, копируем в папку на диске С (например C:/2/24_1.txt.  Проводим замену. A, O на 1; C,D,F на 0. Затем комбо 01, заменяем на 2 и идем по стандартному ангоритму  f=open('C:/2/24demo1.txt','r') s = f.readline()
count=0
countMax=0
for i in range(len(s)):
    if s[i]=='2':
        count=count+1
        countMax=max(count, countMax)
    else:
        count=0
print(countMax)
файл, копируем в папку на диске С (например C:/2/24_1.txt. Проводим замену. A, O на 1; C,D,F на 0. Затем комбо 01, заменяем на 2 и идем по стандартному ангоритму f=open('C:/2/24demo1.txt','r') s = f.readline() count=0 countMax=0 for i in range(len(s)): if s[i]=='2': count=count+1 countMax=max(count, countMax) else: count=0 print(countMax)
-153
f = open('C:/2/k1_0.txt','r') s = f.readline()
count=1
countMax=0
for i in range(len(s)-1):
    if s[i]<=s[i+1]:
        count=count+1
        countMax=max(count, countMax)
    else:
        count=1
print(countMax)  следующий код f = open('C:/2/k1_0.txt','r') s = f.readline()
count=0
countMax=0
for i in range(len(s)):
    if s[i].isdigit():
        a=int(s[i])
    if a<3:
        count=count+1
        countMax=max(count, countMax)
    else:
        count=0
print(countMax)
f = open('C:/2/k1_0.txt','r') s = f.readline() count=1 countMax=0 for i in range(len(s)-1): if s[i]<=s[i+1]: count=count+1 countMax=max(count, countMax) else: count=1 print(countMax) следующий код f = open('C:/2/k1_0.txt','r') s = f.readline() count=0 countMax=0 for i in range(len(s)): if s[i].isdigit(): a=int(s[i]) if a<3: count=count+1 countMax=max(count, countMax) else: count=0 print(countMax)

25 задача

for x1 in '0123456789':     s='1'+x1+'2139'+'4'
    a=int(s)
    if a % 2023==0:
        print (a)
for x1 in '0123456789':
    for x2 in '0123456789':
        s='1'+x1+'2139'+x2+'4'
        a=int(s)
        if a % 2023==0:
            print (a)
for x1 in '0123456789':
    for x2 in '0123456789':
        for x3 in '0123456789':
            s='1'+x1+'2139'+x2+x3+'4'
            a=int(s)
            if a % 2023==0:
                print (a)    
for x1 in '0123456789':
    for x2 in '0123456789':
        for x3 in '0123456789':
            for x4 in '0123456789':
                s='1'+x1+'2139'+x2+x3+x4+'4'
                a=int(s)
                if a % 2023==0:
                    print (a)
for x1 in '0123456789': s='1'+x1+'2139'+'4' a=int(s) if a % 2023==0: print (a) for x1 in '0123456789': for x2 in '0123456789': s='1'+x1+'2139'+x2+'4' a=int(s) if a % 2023==0: print (a) for x1 in '0123456789': for x2 in '0123456789': for x3 in '0123456789': s='1'+x1+'2139'+x2+x3+'4' a=int(s) if a % 2023==0: print (a) for x1 in '0123456789': for x2 in '0123456789': for x3 in '0123456789': for x4 in '0123456789': s='1'+x1+'2139'+x2+x3+x4+'4' a=int(s) if a % 2023==0: print (a)

Или так

Функция fnmatch() модуля fnmatch проверяет, соответствует ли строка имени файла шаблонной строке, возвращая True или False.
Функция fnmatch() модуля fnmatch проверяет, соответствует ли строка имени файла шаблонной строке, возвращая True или False.

Дополнительные базовые алгоритмы

m=1000 n=1010
while m <= n:
    print("\n")
    print (m,': ', end=' ')
    for i in range (2, m-1):
        if m%i==0:
            print (i,end=' ')
    m= m + 1
m=1000 n=1010 while m <= n: print("\n") print (m,': ', end=' ') for i in range (2, m-1): if m%i==0: print (i,end=' ') m= m + 1
for n in range(100,200):     print("\n")
    print(n,":", end = " ")  
    for i in range(n-1, 1, -1):
        k=0 # Счётчик
        if (n%i == 0):
            for j in range(i - 1, 1, -1):
                if (i % j == 0):
                    k=k+1 #если находим делитель
            if (k==0): # Если делителей не было найдено, выводим
                print(i, end = " ")
for n in range(100,200): print("\n") print(n,":", end = " ") for i in range(n-1, 1, -1): k=0 # Счётчик if (n%i == 0): for j in range(i - 1, 1, -1): if (i % j == 0): k=k+1 #если находим делитель if (k==0): # Если делителей не было найдено, выводим print(i, end = " ")
-159

26 задача

-160
-161

27 задача

-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178

-179

f = open('C://3/27_A_3.txt')
n = int(f.readline())
a = [int(x) for x in f]
k = 0
pair = 0
for i in range(n):
if a[i] % 10**7 == 0:
k += 1
a[i] = 1
if a[i] % 2 != 0 and a[i] % 5 != 0:
a[i] = 1
s = []
for i in range(n):
if a[i] != 1:
s.append([f2(a[i]),f5(a[i])])

for i in range(len(s)- 1):
for t in range(i,len(s)):
if s[i][0]+s[t][0] == 7:
if s[i][1]+s[t][1] == 7:
pair += 1
print(pair)

-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190