@FreeCam

Как определять количества целых чисел на отрезке, интервале, полуинтервале?

Я решаю задачу https://www.eolymp.com/en/problems/1692
Мне кажется я уже ухожу куда-то совершенно не туда, пытаясь добрать тесты.

Код тут
https://pastebin.com/ZFugF4BG

Подскажите, пожалуйста, как это всё-таки правильно решать, или на каком тесте не проходит текущее решение.
  • Вопрос задан
  • 573 просмотра
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Разбей задачу на меньшие.
1. Научиться разбирать входную строку. Можно регулярными выражениями, можно вручную с помощью split().
В итоге у тебя должно быть 4 значения: начало интервала, входит ли начало (открытый/закрытый левый край), конец интервала, входит ли конец (открытый/закрытый правый край).
2. Найти количество чисел в интервале.
2.1. Округли левый край вверх (math.ceil()) чтобы найти первое целое число, входящее в интервал. Если результат округления равен левому краю И интервал открыт слева, прибавь к числу 1.
2.2. Округли правый край вниз (math.floor()) чтобы найти последнее целое число. Если результат округления равен правому краю И интервал открыт справа, вычти из числа 1.
2.3. Зная первое и последнее целое число, входящее в интервал, нужно вычесть первое из последнего и прибавить 1. Т.е. если первое число 2 а последнее 4, то в интервале 4 - 2 + 1 = 3 числа (2, 3, 4).
Вот и всё. На питон переведёшь самостоятельно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы