рони, то не будет удовлетворять требованиям из первого поста 

 Первый цикл обеспечивает количество, второй бизнес-логику. Собственно, второй цикл можно вынести в отдельную функцию при желании.
Там просто форматирование куда-то улетело. Я прошелся 
бьютифайером и обновил код выше.