Предмет: Информатика,
автор: Asylbeka68
Комета Бармалея
Как известно, комета Бармалея видна с Земли каждые 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
Я зык программирования Питон
Ответы
Автор ответа:
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)
# количество лет с момента первого прилета кометы до года 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)
Автор ответа:
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. Затем мы вычисляем количество раз, которое комета была видна между этими двумя годами. Наконец, мы выводим результат.
Похожие вопросы
Предмет: Українська мова,
автор: MASHA27192
Предмет: Биология,
автор: yadina8296
Предмет: Геометрия,
автор: sdartemsgd
Предмет: Қазақ тiлi,
автор: z9280869
Предмет: Немецкий язык,
автор: makarniky