Тема: while з умовою "поки вводять дані"
Ось задачка з e-olymp - https://www.e-olymp.com/uk/problems/1598
Проблема: не знаю як вказати умову while (не вказана кількість вхідних даних)
Грався з wlile True і while main(input()), але нічого не виходить
Мій код:
from math import ceil, floor # заокруглення ceil - до більшого, floor - до меншого
def main(arr):
neededFood, n, price = map(int, arr.split())
eat = 0
min_day = ceil(neededFood/n) # мінімальна (на даний момент максимальна, для подальшого порівняння і заміну на меншу) кількість днів для збору їжі
for i in range(1, min_day + 0):
if min_day < i:
break # якщо мінімальна кількість днів менша за поточний день
eat += n
x = ceil((neededFood - eat) / n) + i
if x < min_day:
min_day = x
n += floor(eat / price)
eat %= price
print(min_day)
while main(input()):
pass;
P's. На с++ це виглядає так:
while (scanf("%d %d %d", &neededFood, &n, &price) == 3)