diff --git a/daima/c.txt b/daima/c.txt new file mode 100644 index 0000000..8d43f0c --- /dev/null +++ b/daima/c.txt @@ -0,0 +1,46 @@ +#include + +using namespace std; +const double e = 2.718281828459; + +double log(double x) +{ + long t = 0; + while (x > 1) + { + x /= e; + ++t; + } + x = x - 1; + double ret = 0; + int k = 1; + double temp; + double c = 1; + double xx = 1; + while (1) + { + xx *= x; + temp = c * xx / k; + c *= -1; + ret += temp; + ++k; + if (temp > -0.00000001) + break; + } + return ret + t; +} + +int main() +{ + double a, x; // 计算log(a,x); + // 用ln(x)/ln(a)计算。 + + cin >> a >> x; + if (a <= 0 || x <= 0 || a == 1) + { + cout << "输入不正确!" << endl; + } + double ans = log(x) / log(a); + cout << ans << endl; // log(x)返回x的自然对数,使用虚include"cmath"或"math.h"。 + return 0; +}