Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 02.12.2023
Сообщений: 80

Целочисленная арифметика

06.12.2023, 20:45. Показов 748. Ответов 5

Студворк — интернет-сервис помощи студентам
Для заезда в оздоровительный лагерь организаторы решили заказать автобусы. Известно, что в лагерь собираются поехать N детей и M взрослых. Каждый автобус вмещает K человек. В каждом автобусе, в котором поедут дети, должно быть не менее двух взрослых.

Определите, удастся ли отправить в лагерь всех детей и взрослых, и если да, то какое минимальное количество автобусов требуется для этого заказать.

Входные данные
В единственной строке входного файла INPUT.TXT записано через пробел 3 натуральных числа - N, M и K, каждое из них не превосходит 10 000.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести количество автобусов, которые нужно заказать. Если же отправить всех в лагерь невозможно, выведите 0 (ноль).

Примеры
10 4 7
2

10 4 5
0

Не подходит
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
a, b, c = map(int, input().split())
from math import ceil
if a == 0:
    print(ceil(b / c))
elif c == 1 and a == 0:
    print(b)
elif c == 2 and a == 0:
    print(ceil(b / 2))
elif a > 0 and c <= 2:
    print(0)
elif ceil(a / (c - 2)) > b // 2:
    print(0)
else:
    if ceil(b // 2) < ceil((a + b) / c):
        print(0)
    else:
        print(ceil((a + b) / c))
По возможности прошу писать код простым и понятным
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2023, 20:45
Ответы с готовыми решениями:

Целочисленная арифметика
Найти наибольшую и наименьшую цифру в записи заданного натурального числа

Арифметика

Целочисленная арифметика
Напишите программу, которая считывает целое положительное число xx и выводит на экран последовательность чисел x,2x,3x,4x и 5x, разделённых...

5
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
06.12.2023, 21:22
Python
1
2
3
4
5
6
7
from math import ceil
n,m,k = map(int, input('n, m, k->').split())
k_n = ceil(n/(k-2))
if 2 * k_n > m:
    print(0)
else:
    print(ceil((n+m)/k))
1
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
06.12.2023, 21:48
Bash
1
2
3
4
5
6
10 4 2
 
Traceback (most recent call last):
  File "D:\Desktop\untitled-1.py", line 3, in <module>
    k_n = ceil(n/(k-2))
builtins.ZeroDivisionError: division by zero
0
2 / 2 / 0
Регистрация: 02.12.2023
Сообщений: 80
06.12.2023, 22:03  [ТС]
idealist, Здравствуйте, программа останавливается на 7 тесте. Скорее всего это связано с тем, что в этой задаче немало частных случаев, которые нужно учесть.

Добавлено через 12 минут
Все получилось. Соединил две наши программы и они пошли все тесты
1
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
07.12.2023, 00:07
Цитата Сообщение от IlyaTop Посмотреть сообщение
программа останавливается на 7 тесте
Вот так правильнее будет:
Python
1
2
3
4
5
6
7
8
9
10
from math import ceil
n,m,k = map(int, input('n, m, k->').split())
if n > 0 and k <= 2:
    print(0)
else:
    k_n = ceil(n/(k-2))
    if m < 2 * k_n:
        print(0)
    else:
        print( max(k_n, ceil((n+m)/k)) )
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
07.12.2023, 14:56
Python
1
2
3
4
5
n, m, k = map(int, input().split())
if m * k < 2 * (m + n):
    print(0)
else:
    print((m + n + k - 1) // k)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.12.2023, 14:56
Помогаю со студенческими работами здесь

Простейшая целочисленная арифметика
Дано действительное число а. Вычислить f(a), где f – периодическая функция с периодом 1.5, совпадающая на отрезке : с функцией x3–2.25x. ...

Целочисленная арифметика Делёж яблок — 2
Делёж яблок — 2 n школьников делят k яблок “почти поровну”, то есть так, чтобы количество яблок, доставшихся любым двум школьникам,...

Цельсий в фарангейты
Перевожу цельсий в фарангейты, почему питон не хочет плюсовать 32 в конце? Python 2.7 a = 100 * (5 / 9.) + 32 print a ...

Длинная арифметика
Суть проблемы такова, нужно взять exp от большого числа ~1e6 модуль math не помогает, можно привести exp к ввиду kx + b но таже...

Переменные и арифметика
Помогите закончить программу. Застряла на перемножении переменных итоговой цены. Напишите программу, которая считывает три переменные -...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru