您的位置:首页 > 其它

HDOJ 1060 Leftmost Digit

2011-10-14 23:15 459 查看
         同样使用lg值计算最高位。任意一个数都可以表示为科学计数法的性质,即N^N=a*10^x,所以最高位就是a的整数部分。
1.怎样去除10^X呢? 取lg的对数然后去除整数部分,然后将小数部分再取10的指数得到的值就是a。
2.怎样去取最高位。对a取整即是。
所以有代码:
#include <stdio.h>
#include <math.h>
int main()
{
int caseNum;
scanf("%d",&caseNum);
for(int i=0;i<caseNum;i++)
{
double num;
scanf("%lf",&num);
double logNum=num*log10(num);
double remainder=logNum-(__int64)logNum;
int result=pow(10.0,remainder);
printf("%d\n",result);
}
return 0;
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: