HDU 1060 Leftmost Digit
2013-12-28 20:35
281 查看
Problem Description
Given a positive integer N, you should output the leftmost digit of N^N.
[b]Input
[/b]
[b]The input contains several
test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.
Each test case contains a single positive integer N(1<=N<=1,000,000,000).
[/b]
[b]Output
[/b]
For
each test case, you should output the leftmost digit of N^N.
[b]Sample
Input
[/b]
2
3
4
[b]Sample
Output
[/b]
2
2
Hint
In the first case, 3 * 3 * 3 = 27, so the leftmost digit is 2.
In the second case,
4 * 4 * 4 * 4 = 256, so the leftmost digit is 2.
总结1:题意理解:输出 N的N次方 的 最左边 的 第一个数字。
总结2:r=(int)pow(10,n*log10(n)-(int)(n*log10(n)));
总结3:公式推导:
设n^n=a0*10^m+a1*10^(m-1)+...a0,a1...为相应位的系数,
m为数字位个数,
如4^4=256,a0=2,a1=5,a2=6,m=3;
a0*10^m<=n^n<(a+1)*10^m两边取对数m+lga0<=nlgn<m+lg(a0+1)
即lga0<=nlgn - m<lg(a0+1)
所以a0<=10^(nlgn-m)<a0+1;
1<=a0<=9;
所以0<=lga0<1;
由m+lga0<=nlgn<m+lg(a0+1)两边取整得m=[nlgn](表示nlgn的整数部分)
所以a0=[10^(nlgn-[nlgn])]=pow(10,n*log10(n)-(int)n*log10(n))
Given a positive integer N, you should output the leftmost digit of N^N.
[b]Input
[/b]
[b]The input contains several
test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.
Each test case contains a single positive integer N(1<=N<=1,000,000,000).
[/b]
[b]Output
[/b]
For
each test case, you should output the leftmost digit of N^N.
[b]Sample
Input
[/b]
2
3
4
[b]Sample
Output
[/b]
2
2
Hint
In the first case, 3 * 3 * 3 = 27, so the leftmost digit is 2.
In the second case,
4 * 4 * 4 * 4 = 256, so the leftmost digit is 2.
总结1:题意理解:输出 N的N次方 的 最左边 的 第一个数字。
总结2:r=(int)pow(10,n*log10(n)-(int)(n*log10(n)));
总结3:公式推导:
设n^n=a0*10^m+a1*10^(m-1)+...a0,a1...为相应位的系数,
m为数字位个数,
如4^4=256,a0=2,a1=5,a2=6,m=3;
a0*10^m<=n^n<(a+1)*10^m两边取对数m+lga0<=nlgn<m+lg(a0+1)
即lga0<=nlgn - m<lg(a0+1)
所以a0<=10^(nlgn-m)<a0+1;
1<=a0<=9;
所以0<=lga0<1;
由m+lga0<=nlgn<m+lg(a0+1)两边取整得m=[nlgn](表示nlgn的整数部分)
所以a0=[10^(nlgn-[nlgn])]=pow(10,n*log10(n)-(int)n*log10(n))
相关文章推荐
- HDU 1060 Left-most Digit
- HDU 1060 Leftmost Digit(求n^n的最左位)
- HDU-1060-Leftmost Digit
- HDU 1060 Leftmost Digit(求 n ^ n 的最高位的值)
- hdu 1060 - Leftmost Digit(求N^N最高位)
- hdu 1060 Leftmost Digit
- HDU 1060 - Leftmost Digit
- HDU 1060 Leftmost Digit
- HDOJ HDU 1060 Leftmost Digit ACM 1060 IN HDU
- hdu 1060 Leftmost Digit
- HDU - 1060 Leftmost Digit (数学取对数)规律
- HDU 1060:Leftmost Digit【数学】
- HDU 1060 Leftmost Digit (数学/大数)
- ACM_HDU 1060+1061 leftmost or rightmost digit(数论)
- hdu 1060 Leftmost Digit
- Leftmost Digit(杭电1060)(求N^N的最高位)
- hdu 1060 Leftmost Digit
- hdu 1060 Leftmost Digit
- hdu 1060 Leftmost Digit
- HDU 1060 - Leftmost Digit