Если комнат бесконечное количество)
Делим кол-во людей на вместительность самой большой комнаты.
Например 8 людей / 3 мест. = 2, остаток 2 чел
Остаток делим на 2 местные и повторяем пока не вселим всех.
На вскидку в псевдокоде
humans = 8
capacity = 3 #вместительность самой большой комнаты
while(humans>0){
ok = Math.trunc(humans/capacity) #вселили количество
humans -= ok * capacity #осталось вселить
capacity -= 1 #уменьшаем вместительность комнат и повторяем
if(ok==0){
humans = 0 #если все вошли в одну комнату без остатка например 2 в 3 мест.
}
}