• Предмет: Информатика
  • Автор: Asylbeka68
  • Вопрос задан 4 месяца назад

Комета Бармалея

Как известно, комета Бармалея видна с Земли каждые C лет. Любопытно, что это происходит в годы, кратные C , т.е. C , 2 ×C , 3 ×C и т.д. Не каждому суждено увидеть эту комету хотя бы однажды в жизни. Впрочем, находятся счастливые долгожители, заставшие её прилёт даже несколько раз. Считается, что впервые эту комету увидел и документировал знаменитый средневековый астроном Бармалео Бармалей. В честь него она и получила своё имя. Говорят, за свою долгую жизнь он успел сделать много великих открытий в самых разных областях науки. Однако недавно историки засомневались, правда ли все открытия, которые ему приписываются, Бармалео Бармалей сделал сам. В частности, они заинтересовались, сколько раз за свою жизнь учёный мог видеть комету, названную в его честь. Бармалео Бармалей родился 1 января в год A и умер 31 декабря в год B . Сколько раз за его жизнь комета была видна с Земли? Мы считаем, что он мог видеть комету, даже будучи младенцем или глубоким стариком, т.е. если она прилетала в год A или B.


Для решения задачи запрещено использовать циклы и условные операторы.


Входные данные


Программа получает на вход три целых числа A , B и C ( 1 ≤A≤B≤ 2 × 109 , 1 ≤C≤ 2 × 109).


Выходные данные


Программа должна вывести одно целое число — количество раз, которое комета была видна между годами A и B включительно.


Примечание


Комета пролетала около Земли в 1850 и 1900 годах. Бармалео Бармалей застал оба раза.


Примеры

Ввод

Вывод

1850

1900

50

2

Я зык программирования Питон

Ответы

Ответ дал: aliktol06
0
a, b, c = map(int, input().split())

# количество лет с момента первого прилета кометы до года A
years_before_a = (a - 1) % c + 1

# количество лет между годами A и B
years_between_a_and_b = b - a

# количество прилетов кометы
num_flights = years_between_a_and_b // c + 1

# учитываем возможность прилета кометы в год A или B
if years_before_a == 1 or years_before_a == c or years_between_a_and_b >= c - years_before_a:
num_flights += 1

print(num_flights)
Ответ дал: wantwedead
0

Ответ:

A = int(input())

B = int(input())

C = int(input())

first_comet_year = (A + C - 1) // C * C

last_comet_year = B // C * C

comet_visits = (last_comet_year - first_comet_year) // C + 1

print(comet_visits)

Объяснение:

В этом коде мы сначала вычисляем первый год прилета кометы после года A и последний год прилета кометы до года B. Затем мы вычисляем количество раз, которое комета была видна между этими двумя годами. Наконец, мы выводим результат.

Вас заинтересует