📋 Условие
Решения задач из ЕГЭ по информатике на системы счисления и логические выражения.
🔍 Подробное решение
Задания 14 ЕГЭ по информатике — системы счисления и логические выражения.
Типовые задачи:
1. Наибольшее значение x, при котором в троичной записи числа |3100 − x| содержится ровно 5 нулей. → Ответ: 2024
2. Количество цифр «4» в пятиричной записи выражения (5³⁶ + 5²⁴ − 25). → Ответ: 22
3. Количество цифр, превышающих 9, в 27-ричной записи числа. → Ответ: 2687
4. Сумма цифр, превышающих 3, в 7-ричной записи числа (51·7¹² − 7³ − 22). → Ответ: 65
5. Задачи на основание системы счисления — определяем минимальное основание, при котором число записано корректно.
6. Перевод между системами счисления с использованием Python:
```python
# Перевод в двоичную строку
b = bin(n)[2:]
# Перевод из строки в другое основание
int(s, base)
```
Ответы: 2024, 22, 2687, 65, 8, 4, 16, 8, 1, 4, 16, 13, 4
Типовые задачи:
1. Наибольшее значение x, при котором в троичной записи числа |3100 − x| содержится ровно 5 нулей. → Ответ: 2024
2. Количество цифр «4» в пятиричной записи выражения (5³⁶ + 5²⁴ − 25). → Ответ: 22
3. Количество цифр, превышающих 9, в 27-ричной записи числа. → Ответ: 2687
4. Сумма цифр, превышающих 3, в 7-ричной записи числа (51·7¹² − 7³ − 22). → Ответ: 65
5. Задачи на основание системы счисления — определяем минимальное основание, при котором число записано корректно.
6. Перевод между системами счисления с использованием Python:
```python
# Перевод в двоичную строку
b = bin(n)[2:]
# Перевод из строки в другое основание
int(s, base)
```
Ответы: 2024, 22, 2687, 65, 8, 4, 16, 8, 1, 4, 16, 13, 4
📚 Теория
Сложные задачи на системы счисления. Уравнения с неизвестными цифрами.
🐍 Шаблон Python
Python
alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')
def my_convert(number, system):
result = ''
while number > 0:
result += alphabet[number % system]
number //= system
return result[::-1]
# Неизвестная цифра
for x in alphabet[:base]:
A = int(f'1{x}51', base)
B = int(f'3{x}2', base)
if (A - B) % 4 == 0:
M.append((A - B) // 4)
print(max(M))
# Две неизвестные
for x in alphabet[:8]:
for y in alphabet[:8]:
A = int(f'{x}01{y}4', 9)
B = int(f'{x}{y}544', 8)
if (A + B) % 89 == 0:
M.append((A + B) // 89)
print(min(M)) 🐍 Альтернативный способ
Способ 2
alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')
# Уравнение в разных СС
for p in range(10, 36 + 1):
for x in alphabet[:p]:
for y in alphabet[:p]:
if int(f'24{x}9', p) + int(f'{y}{x}{y}3', p) == int(f'{x}4{y}0', p):
print(int(x + y + y, p))
# Тип 2024 — подсчёт цифр
def f(n):
s = ''
while n > 0:
s = str(n % 5) + s
n = n // 5
return s
for x in range(1, 2006):
a = 5**150 + 5**98 - x
if f(a).count('0') == 56:
print(x)