先贴一道题 西电oj 1029 http://acm.xidian.edu.cn/problem.php?id=1029
这道题中需要用到解2的n次方的最高位的方法。
先讲正题,最后讲这个题的题解。
long long int x=n^m;
式子两边同时取lg lg(x)=m*lg(n);
x=10^(m*lg(n));
10的整数次方的最高位一定是1,所以x的最高位取决于m*lg(n)的小数部分
k=m*lg(n)的小数部分=m*lg(n)-floor(m*lg(n));
floor函数的用法请自行百度
x的最高位=floor(10^k);
xdoj1029题解:
#include <bits/stdc++.h>
using namespace std;