我必须创建一个程序来计算任何数字的对数和任何数字对任何基数的对数,而无需使用cmath
. 我已经成功地使用幂级数方程方法创建了一个原型程序,但我还需要创建一个数字检查。我的导师说,如果数字大于 10,则将数字与其最大值 10 分开,x
并通过log(x) + log(y)
wherex
是 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;
}