Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Кто нибудь подскажите пожалуйста решить задание по программированию: Котлеты*

Виталий Фармазонов Ученик (99), закрыт 5 лет назад
На сковородку одновременно можно положить k котлет. Каждую котлету нужно с каждой стороны обжаривать m минут непрерывно. За какое наименьшее время удастся поджарить с обеих сторон n котлет?

Формат ввода

Программа получает на вход три числа: k,m,n.

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

Программа должна вывести одно число: наименьшее количество минут.

Тест 1
Входные данные:
1
5
1
Вывод программы:
10

Тест 2
Входные данные:
1
2
5
Вывод программы:
20

я решил так:
k = int(input())
m = int(input())
n = int(input())
print(n * 2 * m)

Результат
Зачет?

12/100Оценка: 12 из 100
Нет Задание не пройдено
Сдача задачи
Оценка: 12 из 100

Test 3
Wrong answer.

кто знает? подскажите новичку !
Лучший ответ
Полосатый жираф Алик Искусственный Интеллект (313010) 5 лет назад
А ты поставь такое условие: котлет ТРИ, а на сковороде умещаются ДВЕ. И что у тебя получится?

Если k даже не участвует в твоей формуле?!
Виталий ФармазоновУченик (99) 5 лет назад
Сделал так, как ты сказал! Действительно! Если k >= n ,
то получается :
k = int(input())
m = int(input())
n = int(input())
if k >= n:
print(m * 2)
elif n > k:
print(n * m * 2)
а пишет все равно : Wrong answer.
Полосатый жираф Алик Искусственный Интеллект (313010) Тебе ничего не поможет. Писал бы ты комменты к каждой СВОЕЙ строке: k = int(input()) // влезает котлет на сковородку m = int(input()) // ну, на это просто умножить результат n = int(input()) // а столько котлет нужно поджарить if k >= n: print(m * 2) // понятно, если котлет НЕ БОЛЬШЕ, чем влезает на сковородку, то elif n > k: // а это зачем проверять? Ведь обратное уже проверено! print(n * m * 2) // а вот тут брехня! Я тебе дал пример: 3 котлеты. А на сковороде влезают только ДВЕ. Сколько времени понадобится?!
Остальные ответы
Андрей Высший разум (433047) 5 лет назад
В ссылках, что дала Аглая Шниц, Jurijus Zaksas излишне переусложнил формулу. Целочисленное деление n на k с округлением вверх проще записать в виде (n + k - 1) // k - без sign и mod.

k = int(input())
m = int(input())
n = int(input())
print(2 * m * ((n + k - 1) // k))
Sasha Ivanov Ученик (116) 4 года назад
Вот правильный ответ

k, m, n, = int(input()), int(input()), int(input())
if n <= k:
print(2 * m)
elif n * 2 % k == 0:
print(m * (n * 2 // k))
else:
print(m * (1 + (n * 2 // k)))
Похожие вопросы