Помогите оптимизировать код и, мб, подкорректировать, пожалуйста

введите сюда описание изображения

num_of_students = int(input())
a = 1
if num_of_students <= 4:
        print(0)
elif num_of_students == 5:
        print(1)
else:
        for i in range(5, num_of_students):
                a += 1

        print(a)

Ответы (1 шт):

Автор решения: MBo

Приведённое решение неверное.

Останутся на месте студенты с номерами

1 + k*20
2 + k*20
3 + k*20
4 + k*20

где k -целое число, а 20 = НОК(4,5) Таким образом, нужно посчитать количество таких студентов, и отнять от общего количества. Справитесь?

В каждой двадцатке четыре остаются на месте. Значит, можно найти количество оставшихся, разделив целочисленно (n-1) на 20 и умножив результат на 4. При этом не учли последнюю двадцатку, в которую может входить от 0 до 4 человек - для этого нужно проверить остаток от деления (n-1)%20

→ Ссылка