Mikhail Levin
Искусственный Интеллект
(615730)
6 лет назад
например, так, как много веков назад считали таблицы логарифмов, еще до матанализа:
5^1 < 7 < 5^2
считаем корень из 5, узнаем 5^0.5 = 2.24, считаем 5^1.5=11
5^1 < 7 < 5^1.5
считаем корень из 5^0.5, получаем 5^0.25, дальше - 5^1.25=7.47
5^1 < 7 < 5^1.25
считаем корень из 5^0.25, получаем 5^0.125, дальше - 5^1.125=6.11
5^1.125 < 7 < 5^1.25
и так далее, с каждым шагом сужая рамки вдвое, пока не получим нужную точность.
да, корни считаются методом Ньютона, только арифметика, сходится быстро.
Рустам Искендеров
Искусственный Интеллект
(141052)
6 лет назад
Необходимо уточнение: имеется в виду "инженерный калькулятор", содержащий разные элементарные функции, в т. ч. логарифмические. А то никто, считаю, что и сам автор, арифметические действия с многозначными числами не станет произвести вручную.
Прежде всего скажем, что lg[5]7= lg7/lg5= ln7/ln5 - данное преобразование можно встретить во многих учебниках. Пользуясь разложением в ряд Маклорена одной из логарифмических функций, а именно ln((1+x)/(1-x)) (некоторые источники утверждают, что при этой функции ряд сходится наиболее быстро), в котором берём 3 первых члена, получаем 1,185. Действительное же значение искомой величины равно 1,209. Погрешность составляет примерно 2%. Если устраивает - пожалуйста.
Но у меня есть свой способ: выучил наизусть значения десятичных логарифмов 4-х чисел: lg2= 0,30103; lg3= 0,47712; lg7= 0,84510 и lg11= 1,04139. Значит, достаточно рассчитать 0,84510/(1-0,30103)= 1,209.
Mikhail LevinИскусственный Интеллект (615730)
6 лет назад
насчет разложение в ряд ln((1+x)/(1-x)): там все просто, есть разложение в Маклорена в лоб ln(1+x) = x-x^2/2+x^3/3...,
а ln((1+x)/(1-x)) = ln(1+x) - ln(1-x), подставляем, половина членов сократится