发现有些需要推导公式的题,基本做不出来,特在此做个总结!
1、HDU-1060 点击打开链接
代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
int T,left;
double m,n;
while(scanf("%d",&T)==1)
{
while(T--)
{
scanf("%lf",&n); //输入是%lf
m=n*log10(n*1.0);
//m-=(__int64)m;
left=pow(10.0,m-(__int64)m); // left是int型,不是__int64,因为1<left<10
printf("%d\n",(int)left);
}
}
return 0;
}
m=n^n;两边同取对数,得到,log10(m)=n*log10(n);再得到,m=10^(n*log10(n));
然后,对于10的整数次幂,第一位是1,所以,第一位数取决于n*log10(n)的小数部分