КАК сбивает с толку ваш вопрос, я думаю, что вам нужно сначала определить:
number_of_rows = ceil(number_of_logos / 3.0)
Затем добавьте логотип в каждую строку, по одному за раз.
Python:
import math
def partition_logos(count, lsize):
num_lines = int(math.ceil(count / float(lsize)))
partition = [0] * num_lines
for i in xrange(count):
partition[i%num_lines] += 1
return partition
>>> for i in xrange(1,11):
... print partition_logos(i, 3)
[1]
[2]
[3]
[2, 2]
[3, 2]
[3, 3]
[3, 2, 2]
[3, 3, 2]
[3, 3, 3]
[3, 3, 2, 2]