Подход верный, арифметику не проверял. В данном случае деление на ноль - нормальное явление.