计算对数

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 }
原文地址:https://www.cnblogs.com/geloutingyu/p/5936182.html