🔢 Задание 14: Системы счисления

Арифметические выражения · Перевод между системами · Уравнения с "x"

1. Ключевые понятия

Система счисления с основанием N использует цифры от 0 до N-1.

2. Математический подход

Часто встречаются задачи на поиск количества цифр в выражении типа aⁿ ± bᵐ.

Степень основания: Число Nᵏ в системе счисления N выглядит как единица и k нулей.
Пример: 2¹⁰ в двоичной системе = 1 и 10 нулей.
Конструкция из девяток (или N-1): Число Nᵏ - 1 в системе N состоит из k самых больших цифр этой системы.
Пример: 5⁸ - 1 в 5-ричной системе = 44444444 (8 четверок).

3. Универсальный алгоритм на Python

Для решения задач на подсчет цифр в большом выражении используй классический цикл while:

n = 4**2024 + 2**2025 - 15  # Твое выражение
count = 0
while n > 0:
    digit = n % 5  # Получаем последнюю цифру в 5-ричной системе
    if digit == 4:
        count += 1
    n //= 5        # Отбрасываем последнюю цифру
print(count)

4. Уравнения с неизвестной "x"

Современный тип задач: дано выражение с неизвестной цифрой x, нужно найти такое x, чтобы выражение делилось на число (например, на 15).

Алгоритм решения:
  1. Определить диапазон x (от 0 до основания СС - 1).
  2. Перевести части выражения из СС с основанием N в 10-ричную с помощью int(строка, основание).
  3. Проверить условие делимости.
# Пример для 15-ричной системы (цифры 0-14)
alphabet = "0123456789ABCDE"
for x in alphabet:
    num1 = int(f"12{x}45", 15)
    num2 = int(f"5{x}123", 15)
    total = num1 + num2
    if total % 14 == 0:
        print(total // 14) # Часто просят частное

⚠️ На что обратить внимание

Таблица степеней двойки (Шпаргалка)

2⁰ = 1 2⁴ = 16 2⁸ = 256
2¹ = 2 2⁵ = 32 2⁹ = 512
2² = 4 2⁶ = 64 2¹⁰ = 1024
← Назад к конспектам