hdu 1060
2010-09-05 11:14
169 查看
hdu 1060 leftmost digit
刚刚看到这道题的时候很郁闷。以前我做过求最后一位数字的,今天却来了二个求最前一位的题目。当时就有点闷了……
后来发现任何一个数字都可以n表示成10^(a+b)。其中a>=1,b<1。例如
n=87455时,a=4,b=0.941784644.
有规律.10^a=10000.10^b=8.7455.
所以n的左边数起第一位数字。就是10^b的第一位有效数字,第二数字,是10^b的第二位有效数字。。。。以次类推
刚刚看到这道题的时候很郁闷。以前我做过求最后一位数字的,今天却来了二个求最前一位的题目。当时就有点闷了……
后来发现任何一个数字都可以n表示成10^(a+b)。其中a>=1,b<1。例如
n=87455时,a=4,b=0.941784644.
有规律.10^a=10000.10^b=8.7455.
所以n的左边数起第一位数字。就是10^b的第一位有效数字,第二数字,是10^b的第二位有效数字。。。。以次类推
#include<iostream> #include <cmath> using namespace std; int main() { int a,t; cin>>t; for(int i=0; i<t; i++){ cin>>a; double b=(a*log10(a*1.0)-(__int64)(a*log10(a*1.0))); double ans=pow(10*1.0,b); cout<<(int)ans<<endl; } return 0; }
相关文章推荐
- HDU1060 数学方法实现超大数计算
- hdu 1060 Leftmost Digit
- hdu 1060 Leftmost Digit
- HDU 1060 - Leftmost Digit
- hdu 1060(log的应用)
- hdu 1060
- hdu 1060 Leftmost Digit
- hdu 1060 Leftmost Digit
- HDU1060 Leftmost Digit (数学推导)
- HDU 1060 Leftmost Digit
- HDU 1060 Leftmost Digit(求n^n的最左位)
- HDU 1060 Leftmost Digit
- HDU 1060 Left-most Digit
- hdu 1060(取前n位)
- hdu——1060(数论之对数的使用)
- hdu 1060
- HDU 1060 Leftmost Digit
- hdu 1060——Leftmost Digit
- hdu 1060 the leftmost digit 计算N^N最左面的一位数
- HDU 1060 Leftmost Digit