1 / 1 / 0
Регистрация: 08.06.2022
Сообщений: 10

Артём очень любит астрономию. В научной статье он прочитал про кометы

17.10.2022, 20:58. Показов 1631. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу помочь оптимизировать код, в питоне я почти полный ноль, так что код очень простой и по времени проходит не все тесты.

Вот сама задача для большего понимания:

Условие

Артём очень любит астрономию. В научной статье он прочитал про кометы. Он очень заинтересовался этой темой. Теперь Артём хочет увидеть комету вживую. Он узнал, что комета пролетает над Землёй начиная с года A каждый B-й год (т.е. в годы A,A+B,A+2⋅B,…).

Артём хочет узнать, сколько раз пролетит комета, начиная с года X по год Y. Помогите Артёму узнать ответ на этот вопрос.

Формат входных данных

В первой строке входных данных вводятся два целых числа — A и B (1≤A,B≤105).
Во второй строке входных данных вводятся два целых числа — X и Y (A≤X≤Y≤109).

Формат выходных данных

В первой строке выходных данных выведите одно целое число — ответ на задачу.

Пример 1:

Ввод

3 2
2 7

Вывод

3

Пример 2:

Ввод

184 13
248 486

Вывод

19


Вот сам код:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
a, b = map(int, input().split())
x, y = map(int, input().split())
count = 0
if b == 1:
    print(y - x + 1)
else:
    if a < x:
        while a < x:
            a += b
    while a < y + 1:
        a+=b
        count += 1
    print(count)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.10.2022, 20:58
Ответы с готовыми решениями:

А Яша оказывается не очень себя любит то))
Смотри www.yandex.ru CY 136 000 PR 7 и его псевдоконкурент Смотри www.top100.rambler.ru CY 231 000 PR 8 Оказывается Яндкес не...

Андрей очень любит число 2009
Андрей очень любит число 2009. Он утверждает, что если возвести любое девятизначное число в степень 2009, то получится очень красивое...

Степан очень любит играть со спичками
Степан очень любит играть со спичками. Но он не балуется ними, не разжигает огонь, а решает различные головоломки. Например, он умеет...

9
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
17.10.2022, 21:19
Если не ошибаюсь, то как-то так:
Code
1
(Y-A)//B-(X-A)//B
0
1 / 1 / 0
Регистрация: 08.06.2022
Сообщений: 10
17.10.2022, 21:27  [ТС]
u235, По тайм лимиту проходит, однако на двух тестах вывод неправильный...
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
17.10.2022, 21:34
d1skr1m1nant, возможно, следует проверять, что год A меньше чем год x и y, т.е. заменять отрицательные значения в скобках нулем..
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
17.10.2022, 21:37
u235, это есть по условию.
Но при y=x если попадает в прогрессию будет по формуле 0
1
1 / 1 / 0
Регистрация: 08.06.2022
Сообщений: 10
17.10.2022, 21:41  [ТС]
u235, сейчас проверю.
И ещё кое-что. Ваш код выводит неверное значение при b = 1.
1
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
18.10.2022, 07:24
d1skr1m1nant, а вот так проверьте:
Python
1
print(1+(y-a)//b-1-(x-a)//b+((x-a)%b==0 or (y-a)%b==0))
0
1 / 1 / 0
Регистрация: 18.10.2022
Сообщений: 9
18.10.2022, 09:16
Всё равно два теста не проходит...
0
740 / 622 / 151
Регистрация: 04.03.2022
Сообщений: 1,272
18.10.2022, 09:46
Afrikanskaya_ab, а так:
Python
1
2
3
4
5
a, b = map(int, input().split())
x, y = map(int, input().split())
t1 = (x - a) // b
t2 = (y - a + 1) // b
print(t2-t1)
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
18.10.2022, 10:08
Лучший ответ Сообщение было отмечено d1skr1m1nant как решение

Решение

Если делать по науке, то надо так:
Python
1
2
3
4
5
6
7
def f(x):
    if x < a: return 0
    return 1 + (x-a)//b
 
a, b = map(int, input().split())
x, y = map(int, input().split())
print(f(y)-f(x-1))
С условием же a<=x<=y
выходит так:
Python
1
print((y-a)//b - (x-a-1)//b)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.10.2022, 10:08
Помогаю со студенческими работами здесь

Григорий Иванович очень любит математику
Григорий Иванович очень любит математику. На досуге он решил посчитать сумму всех целых чисел, которые делятся на 3 без остатка, но при...

Коля - легкоатлет. Он очень любит челночный бег
Добрый вечер, не подскажите как можно решить такую задачу? У меня получился такой код но что то не так... Код: ab = int(input()) a =...

Assasen's Creed 4 очень любит кушать FPS :)
Приветствую вас, о знатоки компьютерных проблем! Решил перепройти AC 4, но столкнулся с её проблемой. Ещё при первом/втором её...

Вовочка очень любит смотреть гиперфутбол, где, в отличие от обычного футбола
Вовочка очень любит смотреть гиперфутбол, где, в отличие от обычного футбола, могут одновременно играть больше двух команд. В такой игре...

Васе недавно подарили перестановку из n чисел. Он очень любит играть с перестановками
Васе недавно подарили перестановку из n чисел. Он очень любит играть с перестановками. Играет он так: сначала перемешивает её, затем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru