Информация об изменениях

Сообщение Re: Вопросы на собеседовании (в очередной раз) от 07.04.2017 11:36

Изменено 07.04.2017 11:41 Iso12

Re: Вопросы на собеседовании (в очередной раз)
Здравствуйте, Marty, Вы писали:


M>Интересует, что в пп 1-2 я не понял?


По рекурсии я бы выделил три пункта:
1. Глубина рекурсии, т.е. смотреть чтобы не было переполнения стека.
2. Условие по выходу из рекурсии, т.е. оно должно 100 % выполняться.
3. Эффективность, т.е. проверка на повторяемость вычислений (действий). Если одни и те же вычисления повторяются много раз, то рекурсию применять не стоит.

По числам с плавающей точкой, как тут уже сказали, сравнивать нужно по модулю
|a — b| < epsilon
Re: Вопросы на собеседовании (в очередной раз)
Здравствуйте, Marty, Вы писали:


M>Интересует, что в пп 1-2 я не понял?


По рекурсии я бы выделил три пункта:
1. Глубина рекурсии, т.е. смотреть чтобы не было переполнения стека.
2. Условие по выходу из рекурсии, т.е. оно должно 100 % выполняться.
3. Эффективность, т.е. проверка на повторяемость вычислений (действий). Если одни и те же вычисления повторяются много раз, то рекурсию применять не стоит.

По числам с плавающей точкой, как тут уже сказали, сравнивать нужно по модулю:
bool bEqual = fabs(dSum1 — dSum2) < dEpsilon;