На мой взгляд он хорошо оптимизирован...
Отнюдь не факт. Я бы не назвал
хорошо оптимизированным код, который вызывает такую дорогую функцию, как
malloc(),
в цикле. Ну и с
free(),само собой, ситуация не лучше (на самом деле еще хуже).
...и действительно считает).
Тут похоже на правду, явных ляпов не видно. Код с виду рабочий, но до
хорошо оптимизированного ему как до Пекина на четвереньках.
P.S. Пардон, сразу не заметил. Там еще есть и такой перл, как возведение минус единицы в степень при помощи
pow(). Тоже признак мудрости, достойной Соломона. Явно писал прилежный, но не слишком способный студент.