Пожалуйста, кто-нибудь знает, как вычислить целую часть натурального логарифма целого числа?
Предпочтительно использовать только целочисленную арифметику (сродни целочисленному квадратному корню метод), не полагаясь нас плавающей запятой log
(т.е. не Math.floor(Math.log(x))
.
Чтобы объяснить, почему этот вопрос не является дубликатом связанного вопроса: это касается натурального логарифма и, возможно, неограниченных входных данных, другой - для базы2 или 10 и имитирует с плавающей точкой 32-битную арифметику с фиксированной точностью. Другой вопрос также не объясняет, сколько фиксированных битов требуется для правильного вычисления целой части натурального логарифма неограниченного ввода.