Арифметические выражения · Перевод между системами · Уравнения с "x"
Система счисления с основанием N использует цифры от 0 до N-1.
A=10, B=11, C=12...Часто встречаются задачи на поиск количества цифр в выражении типа aⁿ ± bᵐ.
1 и 10 нулей.
44444444 (8 четверок).
Для решения задач на подсчет цифр в большом выражении используй классический цикл 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)
Современный тип задач: дано выражение с неизвестной цифрой x, нужно найти такое x, чтобы выражение делилось на число (например, на 15).
x (от 0 до основания СС - 1).int(строка, основание).# Пример для 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) # Часто просят частное
int() не сработает. Придется расписывать число по степеням.// для деления в циклах систем счисления.| 2⁰ = 1 | 2⁴ = 16 | 2⁸ = 256 |
| 2¹ = 2 | 2⁵ = 32 | 2⁹ = 512 |
| 2² = 4 | 2⁶ = 64 | 2¹⁰ = 1024 |