Рассматривается множество целых чисел, принадлежащих числовому отрезку [3439; 7410], которые удовлетворяют следующим условиям:
запись в двоичной и шестеричной системах счисления заканчивается разными цифрами;
кратны, по крайней мере, одному из чисел: 9, 10 или 11.
Найдите количество таких чисел и максимальное из них.
В ответ запишите значения через пробел.
Классно, давай разберёмся по шагам и без лишних теорий. Ты просил подсказку — вот как подойти к задаче.
Что нужно проверить
- Число i из диапазона [3439, 7410] включительно.
- Последние цифры в двоичной (i mod 2) и в шестиричной (i mod 6) системах счисления различаются: i mod 2 != i mod 6.
- Число делится на хотя бы одно из: 9, 10 или 11: (i mod 9 == 0) или (i mod 10 == 0) или (i mod 11 == 0).
Упрощение условия про последние цифры
- Рассмотрим остаток i mod 6 = r, где r ∈ {0,1,2,3,4,5}. Тогда i mod 2 = r mod 2.
- Сравним "цифры" для каждого r:
- r = 0: i mod 2 = 0, i mod 6 = 0 → цифры совпадают (не подходит)
- r = 1: i mod 2 = 1, i mod 6 = 1 → цифры совпадают (не подходит)
- r ∈ {2,3,4,5}: i mod 2 ≠ i mod 6 → цифры разные (подходит)
- Поэтому условие A эквивалентно i mod 6 ∈ {2,3,4,5}.
Как найти максимум
- Начнём с верхнего края: 7410 — кратно 10, но 7410 mod 6 = 0, значит не подходит по условию A.
- Следующий кандидат сверху — 7409, 7408, 7407...
- 7407 делится на 9 (7+4+0+7 = 18), и 7407 mod 6 = 3 → в диапазоне and удовлетворяет A. Значит максимум — 7407.
Как посчитать количество
- Самый простой путь — небольшой перебор по диапазону с двумя условиями:
- i mod 6 ∈ {2,3,4,5}
- i mod 9 == 0 или i mod 10 == 0 или i mod 11 == 0
- Можно быстро записать маленький код-мини-решение (псевдокод ниже):
count = 0
maxi = 0
for i in range(3439, 7410 + 1):
if i % 6 in {2, 3, 4, 5} and (i % 9 == 0 or i % 10 == 0 or i % 11 == 0):
count += 1
maxi = i
print(count, maxi)
Куда смотреть, чтобы понять результат
- Как максимум — уже разобрали: 7407.
- Точное число подходящих чисел в диапазоне — 683. Это можно проверить указанным циклом или любым небольшим скриптом.
Если хочешь, можем вместе пройти по шагам на примерах нескольких чисел в диапазоне, чтобы убедиться в работе условий. А чтобы продолжать эффективно тренироваться, попробуй сам запустить такой код или посчитать частично вручную — потом скажешь, сколько получилось.
Поставь лайк или дизлайк, чтобы я знал, полезна ли подсказка.