1. Не оговорены дроби. А они-то здесь косячат!
2. В коде: вместо eror должно быть error.

3. Слушай, а может ты еще пол винта будешь таскать на портал? Нафиг нам твои бэк-ап файлы?!
4. Плюс существенный (кстати, ответ для многих о смысле): программка сама может и не несет никакой полезности как самостоятельная еденица, но вот используемый алгоритм... Часто можно столкнуться с проблемой точности при вычислениях. У каких-то типов она состовляет 11 знаков, у каких-то чуть больше, но если запросят точность до 18 знаков (как в олимпиадах) - можно сесть в лужу. Ведь не во всех языках есть такие типы, как __int64. В таких случаях и нужно применять данный алгоритм.