Репетитор IT men
13.8K subscribers
1.1K photos
23 videos
34 files
960 links
Блог с заметками преподавателя по математике, физике, информатике. Рассказываю о задачах, о способах их решения.

vk.com/itmentor
dzen.ru/itmentor
https://www.youtube.com/@it_men

Автор: @physicist_i

№ 6046073444
Download Telegram
Задача 15.2 из ОГЭ: Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, оканчивающееся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 4. Количество чисел не превышает 1000. Введенные числа не превышают 30 000. Программа должна вывести одно число — минимальное число, оканчивающееся на 4.

👩‍💻 Задачу можно решить и в пару строк, но здесь уже сильно снизится понимание. Покажу пример:

N = int(input("Введите количество чисел: "))
print("Ответ: ", min([ x for x in [int(input("x = ")) for x in range(N)] if x % 10 == 4 ]))


👩‍💻 Цикл for дает лучшее понимание:
N = int(input("Введите количество чисел:"))
mi = 30000
for k in range(N):
number = int(input("Текущее число: "))
if (number % 10 == 4) and (number < mi):
mi = number
print("Минимальное число, оканч-ся на 4: ", mi)


👩‍💻 Но самый оптимальный и понятный код получается с помощью цикла while, которые дает возможности тонкой настройки цикла, что иногда нужно, если наперед не задано точное количество итераций:
N = int(input("Введите количество чисел: "))
min_4 = 30000
k = 1
while k <= N:
number = int(input("Текущее число: "))
if (number % 10 == 4) and (number < min_4):
min_4 = number
k = k + 1
print("Минимальное число, оканч-ся на 4: ", min_4)


#информатика #программирование #computer_science #алгоритмы #python

💡 Репетитор IT men // @mentor_it
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥31🍓1👨‍💻1💘1
✍🏻 Решать аналитически или кодить 🖥

Рассмотрим 2 задачу из ЕГЭ по информатике. На мой взгляд, полезно совмещать эти варианты, чтобы быть уверенным в ответе.

▪️ В аналитическом решении нужно рассмотреть все строки, начиная с максимально заполненной. Важно держать в голове, что все строки уникальные (комбинации не повторяются, порядок имеет значение). Таким образом, мы последовательно открываем соответствия x, y, z исходным переменная_1, переменная_2, переменная_3.

▪️ При моделировании задачи и перебору подходящих решений, мы сразу получаем нужные комбинации, но чтобы понять как они расположены в таблицы, всё равно приходится осмысливать эти комбинации на черновике.

Много интересных статей на моём канале в Дзен:
📱 Репетитор IT men

#математика #информатика #егэ #разбор_задач #python #computer_science

💡 Репетитор IT men // @mentor_it
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍542🔥2🎅1🎄1💘1
📝 Разбор задачи #5 из ЕГЭ по информатике

▪️Тот случай, когда аналитически решить может быть быстрее, потому что уже следующее значение R = 78 удовлетворяет решению и даёт N = 19.

▪️Но код тоже можно написать. Понадобится функция algo(), которая будет добавлять нужный бит в конец двоичного представления. Написать можно по-разному. Приведу лишь решение, которое мне пришло первым в голову.

🖥 Код в Python:
def algo( N ):
lst = list(map(int, list(bin(N)[2:])))
digit = str(sum(lst) % 2)
return int(bin(N)[2:] + digit, 2)

for N in range(1000):
R = algo(algo(N))
if R > 77:
print(f"N = {N}")
break


А как бы вы закодили решение данной задачи?

Ещё полезные заметки: Callback в Python и О лямбда-функциях в Python и Reduce в Python и Задача с собеседования

#python #разработка #программирование #IT #алгоритмы

💡 Репетитор IT men // @mentor_it
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥2👨‍💻2