Я даже не могу называть c, но могу вам сказать почему.
Вы установили a
как int
. pow()
генерирует число с плавающей запятой, которое в НЕКОТОРЫХ случаях может быть только волосами менее 100 или 10000 (как мы видим здесь).
Затем вы добавляете это в целое число, которое TRUNCATES целым числом , Таким образом, вы теряете эту дробную часть. К сожалению. Если вам действительно нужен целочисленный результат, раунд может быть лучшим способом для выполнения этой операции.
Будьте осторожны, даже если для достаточно больших мощностей ошибка может быть достаточно большой, чтобы по-прежнему вызывать сбои, давая вам то, чего вы не ожидаете. Помните, что числа с плавающей запятой несут столько точности.