hdu1060 Leftmost Digit

题目(http://acm.hdu.edu.cn/showproblem.php?pid=1060)
求n^n最右侧的数,设m=n^n,两边取对数m=10^(n*log10(n)),由于10的正整数次方都和个位没关系,只与小数部分有关。

#include <iostream>
#include <math.h>
using namespace std;

int main()
{int t;
 cin>>t;
 while(t--)
 {
     int n;
     cin>>n;
     double tmp=n*log10(double(n));
     double power=tmp-floor(tmp);
     int ans=pow(10.0,power);
     cout<<ans<<endl;
 }

    return 0;
}

你可能感兴趣的:(hdu1060 Leftmost Digit)