Задача 7: Соревнование делимости
Кате нравятся целые числа, которые делятся без остатка на число K, а Маше — целые числа, которые делятся без остатка на число M. Сегодня подруги решили утроить соревнование и выяснить, чьи любимые числа лучше.
Для начала они выписали на лист бумаги все целые числа от A до B включительно. Затем Катя посчитала, сколько чисел среди выписанных делятся на число K без остатка, а Маша посчитала, сколько чисел делятся на число M без остатка.
В соревновании победит та из них, чьих любимых чисел окажется больше. Если же количества любимых чисел Кати и Маши совпадут, объявляется ничья. Для того, чтобы определить победителя, девочки попросили вас вычислить разность количества любимых чисел Кати и Маши.
Входные данные
Программа получает на вход четыре целых положительных числа, записанных в отдельных строках: K, M, A и B. Числа не превосходят 2×109.
Выходные данные
Программа должна вывести одно целое число — разность количества любимых чисел Кати и количества любимых чисел Маши.
Система оценивания
Решение, правильно работающее только для случаев, когда входные числа не превосходят 100, будет оцениваться в 60 баллов.
Answers & Comments
a=int(input())
b=int(input())
c=int(input())
d=int(input())
k=0
m=0
for i in range(d-c+1):
if c%a==0: k+=1
if c%b==0: m+=1
c+=1
print(k-m)
Язык: Python 3
Ответ:
k, m, a, b = int(input()), int(input()), int(input()), int(input())
total_k, total_m = 0, 0
for i in range(a, b+1):
if i%k == 0:
total_k += 1
if i%m == 0:
total_m+=1
print(total_k-total_m)
Объяснение: python