Python

Помогите с задачей по программированию - Python

(П. Волгин) Рассматривается множество целых чисел, принадлежащих числовому отрезку [10101; 11110], которые удовлетворяют следующим условиям:
а) Число делится на 1002, 1008, 10016.
б) Число не делится на 1102, 128, 3A16.
Найдите количество таких чисел и минимальное из них. В ответе запишите сначала количество, а затем минимальное число.
 def is_divisible_by_4_64_256(decimal): 
return decimal % 4 == 0 and decimal % 64 == 0 and decimal % 256 == 0

def is_divisible_by_6_10_58(decimal):
return decimal % 6 == 0 and decimal % 10 == 0 and decimal % 58 == 0

count = 0
min_number = None

for number in range(10101, 11110):
if is_divisible_by_4_64_256(number) and not is_divisible_by_6_10_58(number):
count += 1
if min_number is None or number < min_number:
min_number = number

print(count)
print(min_number)
Игорь Абубакиров
Игорь Абубакиров
2 589
Лучший ответ
3A16? Точно такое условие в задаче?


 a = [] 
b = []
for i in range(10101, 11110):
if i % 1002 == 0 or i % 1008 == 0 or i % 10016 == 0:
a.append(i)
if i % 1102 != 0 or i % 128 != 0 or i % 3016 != 0:
b.append(i)

print(len(a), min(a))
print(len(b), min(b))
Условия не совсем понятны, но вроде так
Александр Якимов Дополнил, не заметил системы.
# Определяем нижнюю и верхнюю границы диапазона
lower_bound = 10101
upper_bound = 11110

# Определяем числа, кратные которым нужно искать
x = 65536
y = 4380165

# Находим минимальное число, удовлетворяющее условиям
min_num = lower_bound + (x - lower_bound % x)

# Считаем количество чисел, удовлетворяющих условиям
count = (upper_bound - min_num) // x - (upper_bound - min_num) // y

# Выводим результат
print(count, min_num)