を使用せずに、任意の数の対数と任意の基数の任意の数の対数を計算するプログラムを作成する必要がありますcmath
。べき級数方程式法を使用してプロトタイププログラムを作成することに成功しましたが、数のチェックも作成する必要があります。私の家庭教師は、数が10を超える場合は、その数を最大値の10から分離しx
、対数を次のように計算すると言いましたlog(x) + log(y)
。ここx
で、は1から10までの数で、y
は10x
です。
私は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;
}