首页 > 代码库 > 计算对数

计算对数

c/c++中好像没有直接计算任意底数对数的函数,函数log(a)只能计算自然对数log2(a);
若要计算对数log(b)a,可以通过数学里面的换底公式完成,log(b)a=log(c)a/log(c)b,令c=2,得:log(b)a=log(a)/log(b);

1
#include <bits/stdc++.h> 2 #define ll long long 3 using namespace std; 4 5 int main(void) 6 { 7 int t; 8 cin >> t; 9 while(t--)10 {11 int a, b;12 cin >> a >> b;13 int x=ceil(log(a)/log(b)); //***计算对数long b(a)14 cout << x << endl;15 }16 return 0;17 }

 

计算对数