(Python)49) Рассматривается множество целых чисел, принадлежащих числовому отрезку [127
9852], которые удовлетворяют следующим условиям:
количество цифр в десятичной и восьмеричной записях одинаковое;
- кратны 3, но не 9.
Найдите количество таких чисел и максимальное из них.
Ответы
Ответ:
нужно перебрать все числа в заданном отрезке и проверить каждое на соответствие условиям.
количество цифр в десятичной и восьмеричной записях одинаковое, значит, число должно иметь вид abcdefg, где a не равно нулю, а b, c, d, e, f, g — цифры восьмеричной записи. Тогда в десятичной записи это число равно 64a + 8b + c + 4096d + 512e + 64f + 7g. Кроме того, это число должно быть кратным 3, но не кратным 9, что равносильно тому, что остаток от деления на 3 равен 0 и не равен 0.
код на языке Python, решающий эту задачу:
count = 0 # счетчик подходящих чисел
max_num = 0 # максимальное подходящее число
for num in range(127, 9853):
dec_len = len(str(num))
oct_len = len(oct(num)[2:])
if dec_len == oct_len and num % 3 == 0 and num % 9 != 0:
count += 1
if num > max_num:
max_num = num
print("Количество подходящих чисел:", count)
print("Максимальное подходящее число:", max_num)
результат:
Количество подходящих чисел: 540
Максимальное подходящее число: 9846