С начало надо правильно понять задачу. Ключевая фраза НАИБОЛЬШЕЕ количество окуней может насытиться?“
Перефразируем ”теоретически наибольшее" и все сразу становиться ясно.
Допустим окуней 9 и для насыщения одного окуня надо 2 окуня.
Первая итерация: 1 окунь съедает 2 и становиться сытым, окуней остается 7 один из них 1 сытый
(то что окунь сытый ни как на дальнейшие расчеты не влияет, так как по условию для насыщения 1 окуня нужно 2 не важно сытых или голодных окуня.)
Вторая итерация: 1 окунь съедает 2 и становиться сытым, окуней остается 5
Третья итерация: (уже хочется писать код) 5-2=3 и счетчик итераций, а заодно и кол-во насытившихся окуней = 3
Четвертая итерация: 3-2=1, i=4
Пятая итерация: 1-2=-1 окунек остался наполовину голодным незачет
print(M / N)
Отрабатываем ошибки.
Теоретически N может быть и не целым числом N=1.5 (правда по условию задачи числа натуральные, но усложним)
Перепишем код:
print(M // N)
А если N=0? Если для насыщения карася другие караси не нужны (травкой из пруда насытятся), то все M карасей будут сыты.
print(M // max(N, 1))
In = open('fish.in','r').read().split()
M, N = int(In[0]), float(In[1])
Out = M // max(N,1)
open('fish.out','w').write(str(Out))