Егэ по информатике 11 класс python помогите пожалуйста с решением задачи - Общение Python мододелов

Вопрос Егэ по информатике 11 класс python помогите пожалуйста с решением задачи

Регистрация
15 Дек 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
Автомат обрабатывает натуральное число N по следующему алгоритму:

1) Строится двоичная запись числа N.

2) Удаляются две последние цифры

3) Полученное число переводится в десятичную запись и выводится на экран.

Сколько разных значений будет показано на экране автомата при последовательном вводе всех натуральных чисел от 20 до 600?
 
Регистрация
23 Ноя 2013
Сообщения
76
Репутация
0
Спасибо
0
Монет
0
print(600 // 4 - 20 // 4 + 1) Убрать 2 правые двоичные цифры - это всего лишь целочисленное деление на 4.
 
Регистрация
23 Янв 2013
Сообщения
63
Репутация
0
Спасибо
0
Монет
0
это разве проблема
281236761_0f13fdd6aa452fd462806600a4a4340c_800.png

 
Регистрация
8 Май 2013
Сообщения
101
Репутация
0
Спасибо
0
Монет
0
def process_number(n):
binary_representation = bin(n)[2:] # Строим двоичную запись числа N
truncated_binary = binary_representation[:-2] # Удаляем две последние цифры
if truncated_binary == '':
return 0
return int(truncated_binary, 2) # Переводим обратно в десятичную систему

unique_values = set() # Множество для хранения уникальных значений

for n in range(20, 601):
value = process_number(n)
unique_values.add(value)

print(f"Количество уникальных значений: {len(unique_values)}")
 
Регистрация
27 Май 2013
Сообщения
98
Репутация
0
Спасибо
0
Монет
0
Чат гпт или яндекс гпт в помощь
 
Регистрация
11 Апр 2013
Сообщения
94
Репутация
0
Спасибо
0
Монет
0
def process(n):
binary = bin(n)[2:]
if len(binary) <= 2:
return 0
binary = binary[:-2]
return int(binary, 2)

results = set()

for n in range(20, 601):
result = process(n)
if result > 0:
results.add(result)

print(len(results))
 
Регистрация
5 Апр 2013
Сообщения
95
Репутация
0
Спасибо
0
Монет
0
# Инициализируем набор для хранения уникальных результатов
unique_results = set()

# Перебираем числа от 20 до 600 включительно
for n in range(20, 601):
result = n // 4 # Удаляем две последние цифры двоичной записи (целочисленное деление на 4)
unique_results.add(result)

# Подсчитываем количество уникальных значений
count = len(unique_results)

print("Количество различных значений:", count)
 
Сверху Снизу