Алгоритмы, дискретная математика и пр.'s Journal (original) (raw)

12:32a

Бен, ай нид хелп! Доброго времени суток всем! Есть программка на фортране, которая для n от 1 до 20 считает все возможные варианты разбиений этого n (если влезать в математику, то n - это площадь, грубо говоря кол-во квадратиков, которые разбиваются построчно и единственное условие - это, что нижняя строчка всегда меньше или равна верхней. пример разбиения для n= 5 : (5), (4,1), (3,2), (3,1,1),(2,2,1),(2,1,1,1,), (1,1,1,1,1))
Проблема в том, что глядя в код на фортране, я к сожалению вижу только фигу, а очень нужно понять алгоритм построения всех этих разбиений и имплементировать на си.
Расскажите, пожалуйста, что там на фортране написано ? :) Если можно, то набросайте на псевдокоде алгоритм или прокомментируйте построчно, что делает программа.
Код ( Collapse )
Заранее спасибо!