Я должен создать программу, которая вычисляет журнал любого числа и журнал любого числа для любой базы без использования cmath
. Мне удалось создать прототип программы с использованием метода уравнения степенных рядов, но мне также нужно создать проверку числа. Мой репетитор сказал, что если число больше 10, чтобы отделить число от его наибольшего значения 10 x
и вычислить логарифм по log(x) + log(y)
, где x
- это число от 1 до 10 и y
- это число 10 x
.
Я написал это для чисел до 1000, но программа, использующая cmath
, делает это для 10 208 , и поэтому мне было интересно, есть ли более эффективный способ вычисления журнала?
int main()
{
float x, n;
cin >> n;
if (n > 10) x = n/10;
if (n > 100) x = n/100;
if (n > 1000) x = n/1000;
cout << x << endl;
}