1

Необходимо определить, является ли логарифм a по основанию b целым. Мое решение: cout<<fmod(log(a)/log(b),1); Но, например, при тесте a=46656 b=6, программа выдает 8.88178e-016, вместо ожидаемого 0. Как это можно исправить / реализовать другим способом?

Qwertiy
  • 123,725
  • 1
  • http://ru.stackoverflow.com/q/50492/178988 2. http://ru.stackoverflow.com/q/399420/178988 3. http://ru.stackoverflow.com/q/461464/178988
  • – Qwertiy Jan 11 '17 at 16:42
  • Хотя в данном вопросе, возможно, следует поступить вообще по-другому. – Qwertiy Jan 11 '17 at 16:44
  • Для целых значений - просто возведите в степень и проверьте... – Harry Jan 11 '17 at 16:48