hdu 1060
2012-09-12 14:30
134 查看
这题说穿了就水了,发现高精度跟快速幂都不能过,本来以为是打表的。。。后来看了大神的思路才明白的
log10(n^n)=a+b;a为整数,b为小数;
所以n^n最左边的就是10^b的整数部分,结束;
log10(n^n)=a+b;a为整数,b为小数;
所以n^n最左边的就是10^b的整数部分,结束;
#include <iostream> #include <cmath> using namespace std; //using std::cout; int main() { int i,t,n,ans; __int64 a; double f; cin>>t; while (t--) { cin>>n; f=(double)n*log10(n); a=f; f=f-a; ans=int(pow(10,f)); while (ans/10) { ans/=10; } cout<<ans<<endl; } }
相关文章推荐
- hdu 1060 leftmost
- HDU 1060 Leftmost Digit(数学)
- HDU 1060 Leftmost Digit【对数运算】
- hdu 1060 Leftmost Digit
- hdu_1060_数学求解n^n的第一位数
- hdu 1060 Leftmost Digit
- HDU 1060 Leftmost Digit
- NEFU 65 , HDU 1060, POJ 2109
- hdu--1060--Leftmost Digit
- HDU 1060 - Leftmost Digit
- hdu 1060 Leftmost Digit
- HDU 1060 Leftmost Digit
- hdu 1060 .
- ACM_HDU 1060+1061 leftmost or rightmost digit(数论)
- hdu 1060 n^n的求最高位的数字
- hdu 1060 Leftmost Digit
- HDU 1060 Leftmost Digit
- 数论 hdu 1060 n^n最高位
- HDU--1060
- hdu 1060 Leftmost Digit