Автор: ФИПИ
Уровень: Средний
Откройте файл электронной таблицы, содержащей в каждой строке шесть натуральных чисел. Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
в строке только одно число повторяется трижды, остальные числа различны;
утроенный квадрат повторяющегося числа строки больше суммы квадратов её неповторяющихся чисел.
cnt = 0
for s in open('0. files/9.csv'):
M = [int(x) for x in s.split(';')]
copied = [x for x in M if M.count(x) == 3]
uncopied = [x for x in M if M.count(x) == 1]
if len(copied) == 3 and len(uncopied) == 3:
if (copied[0] ** 2) * 3 > (sum([x**2 for x in uncopied])):
cnt += 1
print(cnt)
Ответ: 245
cnt = 0
# Инициализируем счетчик, который будет подсчитывать количество строк с нужными условиями
for s in open('0. files/9.csv'):
# Открываем файл и построчно считываем его содержимое в переменную s
M = [int(x) for x in s.split(';')]
# Разделяем строку по символу ';', преобразуем элементы в целые числа и создаем список M
copied = [x for x in M if M.count(x) == 3]
# Создаем список copied из элементов, которые встречаются в M ровно 3 раза (повторяющиеся элементы)
uncopied = [x for x in M if M.count(x) == 1]
# Создаем список uncopied из элементов, которые встречаются в M ровно 1 раз (уникальные элементы)
if len(copied) == 3 and len(uncopied) == 3:
# Проверяем, что у нас ровно 3 повторяющихся элемента и 3 уникальных элемента
if (copied[0] ** 2) * 3 > (sum([x**2 for x in uncopied])):
# Проверяем условие: квадрат первого повторяющегося элемента, умноженный на 3, больше суммы квадратов всех уникальных элементов
cnt += 1
# Если оба условия выполняются, увеличиваем счетчик на 1
print(cnt)
# Выводим итоговое значение счетчика
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥3👍2
This media is not supported in the widget
VIEW IN TELEGRAM
Автор: Л.Шастин
Уровень: Средний
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится восьмеричная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
а) если число N чётное, то в этой записи все нечётные цифры меняются на «2»;
б) если число N нечётное, то первая и последняя цифры меняются на «3».
Полученная таким образом запись является восьмеричной записью искомого числа R.
3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 9 = 118 результатом является число 338 = 27, а для исходного числа 12 = 148 это число 248 = 20.
Укажите максимальное число R, меньшее 300, которое может быть получено с помощью описанного алгоритма. В ответе запишите это число в десятичной системе счисления.
Аудио с пояснением к коду решения оставлю в комментариях.
R = []
for n in range(1, 1000):
s = f'{n:o}'
if n % 2 == 0:
for x in '1357':
s = s.replace(x, '2')
else:
s = '3' + s[1:-1] + '3'
r = int(s, 8)
if r < 300:
R.append(r)
print(max(R))
Ответ: 294:
R = []
Создается пустой список R для хранения подходящих результатов.
for n in range(1, 1000):
Цикл перебирает числа от 1 до 999 включительно.
s = f'{n:o}'
Число n преобразуется в восьмеричную (octal) систему счисления и сохраняется в строку s.
if n % 2 == 0:
Проверяется, четное ли число n.
for x in '1357':
Если число четное, то перебираются нечетные цифры 1, 3, 5, 7.
s = s.replace(x, '2')
Каждую нечетную цифру в строке s заменяют на 2.
else:
Если число n нечетное, выполняется этот блок.
s = '3' + s[1:-1] + '3'
Для нечетных чисел:
- Первый символ строки s заменяется на '3'.
- Последний символ заменяется на '3'.
- Середина строки (s[1:-1]) остается без изменений.
Пример: s = '1234' → '323' (первая и последняя цифры заменены на 3).
r = int(s, 8)
Строка s (в восьмеричной системе) преобразуется обратно в десятичное число.
if r < 300:
Если полученное число r меньше 300, оно добавляется в список R.
print(max(R))
В конце выводится максимальное число из списка R.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4👍3🔥3
Автор: С.Якунин
Уровень: Средний
Полина составляет слова, переставляя буквы в слове ПАЙТОН. Сколько слов может составить Полина, если известно, что сумма порядковых номеров гласных букв, в каждом из них, равна 6? Буквы нумеруются слева направо, начиная с единицы.
Аудио с пояснением к коду решения оставлю в комментариях.
from itertools import *
cnt = 0
for p in permutations('ПАЙТОН'):
word = ''.join(p)
summa = word.index('А')+1 + word.index('О')+1
if summa == 6:
cnt += 1
print(cnt)
Ответ: 96
from itertools import *
Импортируется модуль itertools для работы с перестановками (permutations).
cnt = 0
Создается счетчик cnt, который будет считать количество подходящих перестановок.
for p in permutations('ПАЙТОН'):
Цикл перебирает все возможные перестановки букв в слове 'ПАЙТОН'.
word = ''.join(p)
Каждая перестановка p (это кортеж букв) объединяется в строку word.
summa = word.index('А')+1 + word.index('О')+1
- word.index('А') возвращает индекс буквы 'А' в строке (начиная с 0).
- +1 добавляется, чтобы считать позицию с 1 (как в обычном порядке).
- Аналогично для буквы 'О'.
- summa — это сумма позиций букв 'А' и 'О' в текущей перестановке.
if summa == 6:
Проверяется, равна ли сумма позиций 'А' и 'О' 6.
cnt += 1
Если условие выполнено (summa == 6), счетчик увеличивается на 1.
print(cnt)
В конце выводится общее количество подходящих перестановок.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥9👍4🔥4
Автор: М.Попков
Уровень: Средний
Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами:
А. Вычесть 2
В. Если число четное, Разделить на 2, Иначе Вычесть 7
Сколько существует программ, для которых при исходном числе 40 результатом является число 1 и при этом никакая команда не повторяется более двух раз подряд?
Аудио с пояснением к коду решения оставлю в комментариях.
def F(a, b, s):
if a <= b:
return a == b and 'AAA' not in s and 'BBB' not in s
h = [F(a-2, b, s+'A')]
if a % 2 == 0:
h += [F(a/2, b, s+'B')]
else:
h += [F(a-7, b, s+'B')]
return sum(h)
print(F(40, 1, ''))
Ответ: 16
def F(a, b, s):
Объявление функции F с тремя параметрами: a (начальное число), b (целевое число), s (строка с последовательностью действий).
if a <= b:
Проверка, если текущее число a меньше или равно целевому числу b.
return a == b and 'AAA' not in s and 'BBB' not in s
Возвращает True только если a равно b и в строке s нет подстрок 'AAA' и 'BBB', иначе False.
h = [F(a-2, b, s+'A')]
Создает список h с результатом рекурсивного вызова функции, где a уменьшается на 2, а к строке s добавляется 'A'.
if a % 2 == 0:
Проверяет, четное ли число a.
h += [F(a/2, b, s+'B')]
Если a четное, добавляет в список h результат рекурсивного вызова функции, где a делится на 2, а к строке s добавляется 'B'.
else:
Если a нечетное.
h += [F(a-7, b, s+'B')]
Добавляет в список h результат рекурсивного вызова функции, где a уменьшается на 7, а к строке s добавляется 'B'.
return sum(h)
Возвращает сумму элементов списка h (в данном случае True и False интерпретируются как 1 и 0).
print(F(40, 1, ''))
Вызов функции с начальными значениями a = 40, b = 1, s = '' и вывод результата.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥7 5🔥3
Что выведет этот код?
Anonymous Quiz
19%
0 1 2 3 4 5 Hello, world!
8%
0 1 2 3 4 5
53%
0 1 2 3 4 Hello, world!
20%
0 1 2 3 4
Автор: М.Шагитов
Уровень: Средний
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может убрать из кучи один камень, либо, если в куче 4 или больше камней, он может убрать четыре камня, либо, если количество камней в куче кратно трем, он может уменьшить количество камней в куче в три раза.
Игра завершается в тот момент, когда количество камней в куче становится не более 1.
Победителем считается игрок, сделавший последний ход, т.е. первым получивший кучу из 1 камня или меньше.
В начальный момент в куче было S камней; 4 ≤ S ≤ 100.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.
Укажите минимальное значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом.
Задание 20.
Для игры, описанной в задании 19, найдите два наименьших значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
− Петя не может выиграть за один ход;
− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания.
Задание 21.
Для игры, описанной в задании 19, найдите минимальное значение S, при котором одновременно выполняются два условия:
– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Аудио с пояснением к коду решения оставлю в комментариях.
def F(s, n):
if s <= 1:
return n % 2 == 0
if n == 0:
return 0
h = [F(s - 1, n - 1)]
if s >= 4:
h += [F(s - 4, n - 1)]
if s % 3 == 0:
h += [F(s / 3, n - 1)]
return any(h) if (n - 1) % 2 == 0 else all(h)
print([s for s in range(4, 100 + 1) if F(s, 2)])
print([s for s in range(4, 100 + 1) if F(s, 3) and not F(s, 1)])
print([s for s in range(4, 100 + 1) if F(s, 4) and not F(s, 2)])
Ответы:
6
7 10
8
def F(s, n):
• Объявление функции F с параметрами s (текущее состояние) и n (количество оставшихся ходов)
if s <= 1:
• Проверка, если s меньше или равно 1, игра завершена
return n % 2 == 0
• Возвращает True, если n чётное (победа текущего игрока), иначе False
if n == 0:
• Проверка, если ходы закончились (n = 0), игра проиграна
return 0
• Возвращает 0 (ложь), так как нет ходов для победы
h = [F(s - 1, n - 1)]
• Рекурсивный вызов F для хода s - 1 и уменьшенного n, результат добавляется в список h
if s >= 4:
• Проверка, можно ли сделать ход s - 4
h += [F(s - 4, n - 1)]
• Если s >= 4, рекурсивный вызов F для s - 4 и уменьшенного n, результат добавляется в h
if s % 3 == 0:
• Проверка, делится ли s на 3
h += [F(s / 3, n - 1)]
• Если s делится на 3, рекурсивный вызов F для s / 3 и уменьшенного n, результат добавляется в h
return any(h) if (n - 1) % 2 == 0 else all(h)
• Если предыдущий ход был чётным ((n - 1) % 2 == 0), возвращает any(h) (хотя бы один выигрышный ход), иначе all(h) (все ходы должны быть выигрышными)
print([s for s in range(4, 100 + 1) if F(s, 2)])
• Выводит список s от 4 до 100, где игрок может выиграть за 2 хода (F(s, 2) = True)
print([s for s in range(4, 100 + 1) if F(s, 3) and not F(s, 1)])
• Выводит список s от 4 до 100, где игрок может выиграть за 3 хода, но не за 1 (F(s, 3) = True и F(s, 1) = False)
print([s for s in range(4, 100 + 1) if F(s, 4) and not F(s, 2)])
• Выводит список s от 4 до 100, где игрок может выиграть за 4 хода, но не за 2 (F(s, 4) = True и F(s, 2) = False)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥5❤🔥4 2👍1
Автор: ЕГКР
Уровень: Базовый
Текстовый файл состоит из символов F, G, Q, R, S и W. Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых подстрока FSRQ встречается ровно 80 раз.
Аудио с пояснением к коду решения оставлю в комментариях.
s = open('0. files/24.txt').readline()
s = s.split('FSRQ')
maxi = 0
for i in range(len(s)-80):
r = 'SRQ' + 'FSRQ'.join(s[i:i+81]) + 'FSR'
maxi = max(maxi, len(r))
print(maxi)
Ответ: 2379
s = open('0. files/24.txt').readline()
Открываем файл 24.txt из папки 0. files и читаем первую строку, сохраняя её в переменную s
s = s.split('FSRQ')
Разбиваем строку s на список подстрок, используя разделитель 'FSRQ'
maxi = 0
Инициализируем переменную maxi для хранения максимальной длины найденной подстроки
for i in range(len(s)-80):
Запускаем цикл по индексам списка s, оставляя запас в 80 элементов для обработки последующих 81 элементов
r = 'SRQ' + 'FSRQ'.join(s[i:i+81]) + 'FSR'
Формируем строку r, соединяя 81 подстроку из списка s с разделителем 'FSRQ', добавляя префикс 'SRQ' и суффикс 'FSR'
maxi = max(maxi, len(r))
Обновляем maxi, если длина строки r больше текущего значения maxi
print(maxi)
Выводим максимальную найденную длину строки r
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5❤2🔥2
Апробация_14_05_2025.zip
24.9 MB
В группе ВК «kompege» опубликовали ZIP-архив с двумя вариантами из вчерашней апробации. Думаю, кому-нибудь будет полезно посмотреть #useful
👍9❤🔥4🔥4
Автор: А.Вдовин
Уровень: Средней
Найдите количество четырехзначных чисел в девятеричной системе счисления, в которых есть ровна одна цифра 8, а сумма цифр слева от нее равна сумме цифр справа от нее.
Примечание: если слева или справа от 8 цифр нет, то сумма считается равной нулю
Аудио с пояснением к коду решения оставлю в комментариях.
from itertools import *
cnt = 0
for p in product('012345678', repeat=4):
num = ''.join(p)
if num[0] != '0':
if num.count('8') == 1:
i = num.index('8')
summa_left = sum(map(int, num[:i]))
summa_right = sum(map(int, num[i+1:]))
if summa_left == summa_right:
cnt += 1
print(cnt)
Ответ: 64
from itertools import *
Импорт всех функций из модуля itertools, который предоставляет удобные инструменты для работы с итераторами
cnt = 0
Инициализация счётчика cnt, который будет хранить количество подходящих чисел
for p in product('012345678', repeat=4):
Цикл по всем возможным комбинациям длиной 4 из цифр '012345678' (включая повторы)
num = ''.join(p)
Преобразование текущей комбинации p в строку num
if num[0] != '0':
Проверка, что число не начинается с нуля (чтобы избежать ведущих нулей)
if num.count('8') == 1:
Проверка, что в числе ровно одна цифра '8'
i = num.index('8')
Нахождение индекса цифры '8' в строке num
summa_left = sum(map(int, num[:i]))
Вычисление суммы цифр слева от '8' (преобразование среза строки в числа и их суммирование)
summa_right = sum(map(int, num[i+1:]))
Вычисление суммы цифр справа от '8'
if summa_left == summa_right:
Проверка равенства сумм слева и справа от '8'
cnt += 1
Увеличение счётчика, если условие выполнено
print(cnt)
Вывод итогового количества подходящих чисел
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍5❤3❤🔥3
Специально для вас от Эдуарда — краткие и понятные конспекты по большинству важнейших тем физики, которые помогут быстро повторить главное
Для удобства конспекты распределены по разделам:
1. МЕХАНИКА
— Равноускоренное движение
— Импульс. Закон изменения и сохранения
— Механические колебания и волны
2. МКТ и ТЕРМОДИНАМИКА
— МКТ и газовые законы
— КПД. Тепловая машина
— Влажность
3. ЭЛЕКТРОДИНАМИКА
— Электростатика
— Электрический ток
— Конденсатор
— Катушка индуктивности
— Электромагнитная индукция
— Колебательный контур
4. ОПТИКА
— Основные понятия и законы геометрической оптики
— Линзы
— Волновая оптика
5. КВАНТОВАЯ ФИЗИКА
— Фотоны. Фотоэффект
— Ядерные реакции и радиоактивный распад
⚡️Больше контента в канале «Физика с Эдуардом | ЕГЭ по физике»
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥6❤🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Подготовили для вас методическое пособие по решению 8 номера! Сохраняйте все, что понадобится на экзамене
for s in itertools.permutations('ЯРОСЛАВ', 5):
Цикл for, который проходит через все перестановки длиной 5 букв из заданной строки 'ЯРОСЛАВ'. Каждая перестановка сохраняется в переменной s.
for s in itertools.product('АЕКНС', repeat=6):
Цикл for, в котором происходит итерация по всем комбинациям символов из 'АЕКНС' длиной 6 символов, сгенерированным с помощью метода product из модуля itertools.
slovo = ''.join(s)
Преобразования кортежа символов "s" в строку символов "slovo".
if slovo[0] not in '1357':
Проверка условия, что элемент слова по индексу "0" является одним из символов набора.
if all(pair not in num for pair in '71 17 37 73 57 75 77'.split())
:Функция all() позволяет проверять множественные вхождения элементов в строку. В данном случаи ни одно из чисел "71 17 37 73 57 75 77" не должно попадаться в строку num.
В комментариях закреплю файл в формате pdf
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥7🔥5👍4
Автор: Статград
Уровень: Базовый
Все десятибуквенные коды, составленные из букв, входящих в слово
СКАНЕР, расположены в алфавитном порядке и пронумерованы.
Определите количество кодов, для которых одновременно выполнены условия:
1) номер кода в списке делится на 3;
2) первая буква кода – согласная;
3) код содержит ровно одну букву Р.
Кликни, чтобы развернуть полностью
from itertools import product
num = 0
cnt = 0
for s in product(sorted('СКАНЕР'), repeat=10):
word = ''.join(s)
num += 1
if num % 3 == 0:
if word[0] in 'СКНР':
if word.count('Р') == 1:
cnt += 1
print(cnt)
Ответ: 4531250
from itertools import product
Импорт функции product из модуля itertools, которая создает все возможные комбинации длиной n из указанных элементов.
num = 0
Инициализация переменной num для отслеживания общего количества рассмотренных комбинаций.
cnt = 0
Инициализация переменной cnt для подсчета количества комбинаций, удовлетворяющих условиям задачи.
for s in product(sorted('СКАНЕР'), repeat=10):
Цикл for, в котором перебираются все возможные комбинации длиной 10 символов из отсортированных букв 'СКАНЕР'.
word = ''.join(s)
Объединение символов из текущей комбинации в одно слово для дальнейшей проверки.
num += 1
Увеличение счетчика num на 1 для отслеживания количества рассмотренных комбинаций.
if num % 3 == 0:
Проверка, что номер рассматриваемой комбинации делится на 3 без остатка.
if word[0] in 'СКНР':
Проверка, содержит ли первая буква слова 'С', 'К', 'Н' или 'Р'.
if word.count('Р') == 1:
Проверка, что буква 'Р' встречается в слове ровно 1 раз.
cnt += 1
Увеличение счетчика cnt на 1, если текущая комбинация удовлетворяет всем условиям.
print(cnt)
Вывод количества комбинаций, удовлетворяющих заданным условиям.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8🔥5 5❤1
Автор: А.Богданов
Уровень: Базовый
Марина собирает восьмибуквенные слова из букв своего имени. Все буквы могут многократно повторяться. На каком месте окажется имя МАРИАННА в отсортированном по алфавиту списке сгенерированных слов? Нумерация начинается с 1.
Аудио с пояснением к коду решения оставлю в комментариях.
from itertools import *
for n, p in enumerate(product(sorted('МАРИН'), repeat=8), 1):
word = ''.join(p)
if word == 'МАРИАННА':
print(n)
break
Ответ: 169466
from itertools import *
Импорт всех функций из модуля itertools, включая функцию product, которая будет использоваться для генерации декартова произведения
for n, p in enumerate(product(sorted('МАРИН'), repeat=8), 1):
Запуск цикла, где:
• sorted('МАРИН') сортирует символы строки 'МАРИН' в алфавитном порядке (['А', 'И', 'М', 'Н', 'Р'])
• product(..., repeat=8) генерирует все возможные комбинации длины 8 из этих символов
• enumerate(..., 1) нумерует каждую комбинацию, начиная с 1
• n хранит номер текущей комбинации, p — саму комбинацию в виде кортежа символов
word = ''.join(p)
Преобразует кортеж символов p в строку word
if word == 'МАРИАННА':
Проверяет, совпадает ли текущая комбинация word с искомым словом 'МАРИАННА'
print(n)
Если условие выполняется, выводит номер комбинации n
break
Прерывает цикл после нахождения нужного слова
Please open Telegram to view this post
VIEW IN TELEGRAM
4❤🔥9👍4 4
Это строка, содержащая числовые символы, из которых мы будем находить сумму:
s = '12345'
summa1 = 0
for x in s:
summa1 += int(x)
print(summa1) # 15
В этом варианте мы используем цикл
for
, чтобы пройти по каждому символу строки s
. Каждый символ преобразуем в число с помощью int(x)
и добавляем его к общей сумме summa1
.summa2 = 0
for i in range(0, 10):
summa2 += s.count(str(i)) * i
print(summa2) # 15
Здесь мы использовали метод
count
для подсчета количества вхождений каждой цифры от 0 до 9 в строке s
. Умножаем количество вхождений на само число и добавляем к summa2
.summa3 = sum(map(int, s))
print(summa3) # 15
Этот способ применяет функцию map, чтобы преобразовать каждый символ строки s в число. Используя sum, мы находим сумму всех чисел. Это краткий и эффективный способ.
summa4 = sum([int(x) for x in s])
print(summa4) # 15
Здесь используется генератор списка для создания нового списка, где каждый элемент — это числовое значение символа из
s
. Затем с помощью sum
находим сумму элементов списка.Альтернативно, в этой версии можно добавить проверку
if
, чтобы убедиться, что символы являются цифрами:summa4 = sum([int(x) for x in s if x.isdigit()])
Это делает код более безопасным на случай, если в строке
s
присутствуют нечисловые символы.Please open Telegram to view this post
VIEW IN TELEGRAM
4❤🔥9 4🤯3
Собрал для вас основные моменты, которые важно знать при решении 16 номера. Для закрепления материала оставляю ссылку на подборку всех 16 номеров разобранных на моем канале.
📚 По этой ссылке ты найдешь мои шпаргалки по всем остальным номерам ЕГЭ
Автор: Открытый вариант 2025
Уровень: Базовый
def F(n):
if n >= 2025:
return n
if n < 2025:
return n * 2 + F(n + 2)
print(F(82) - F(81)) # 1945
Автор: Досрочная волна 2025
Уровень: Базовый
import sys
sys.setrecursionlimit(100000)
def F(n):
if n <= 5:
return 1
if n > 5:
return n + F(n - 2)
print(F(2126) - F(2122))
В этом прототипе нужно расширить глубину рекурсии из-за ошибки: "RecursionError: maximum recursion depth exceeded".
Автор: Апробация 05.03.25
Уровень: Базовый
import sys
sys.setrecursionlimit(100000)
def F(n):
if n == 1:
return 1
if n > 1:
return n * F(n - 1)
print((F(2024) // 4 + F(2023)) // F(2022))
print((F(2024) / 4 + F(2023)) // F(2022))
~~~^~~
OverflowError: integer division result too large for a float
Такую ошибку мы получили на экзамене 2024 года.
Автор: М. Попков
Уровень: Базовый
from functools import *
import sys
sys.setrecursionlimit(100000)
@lru_cache(None)
def F(n):
if n <= 3:
return n - 1
if n > 3 and n % 2 == 0:
return F(n - 2) + n / 2 - F(n - 4)
if n > 3 and n % 2 != 0:
return F(n - 1) * n + F(n - 2)
for n in range(1, 5000):
F(n)
print(F(4952) + 2 * F(4958) + F(4964))
Самая неприятная ошибка, здесь необходимо использовать библиотеку functools.
📌 Тут оставлю сылку на старую версию шпаргалки, которую делал в Notion
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥18 10❤🔥8❤2
Думаю надо быстро освежить шпаргалки и ответить на ваши вопросы. Делаем? И не забудьте поставить реакцию на прошлый пост!
Anonymous Poll
82%
Ехала ✔️
14%
Надо надо ❗️
4%
Not now ❌
❤10❤🔥7🔥6
This media is not supported in your browser
VIEW IN TELEGRAM