不知道公式,修改了别人的代码,公式应该是a=n*lgn;然后10^(a的小数)取整型;
#include
#include
int main()
{
__int64 k,b,i,d;
double a,m,n,c;
scanf("%I64d",&k);
while(k--)
{
scanf("%lf",&n);
a=n*log10(n);
b=(__int64)(a);
c=a-b;
d=(__int64)(pow(10,c));
printf("%I64d\n",d);
}
}
自己用的整型转字符型的方法行不通,暂时放弃
#include
main()
{
int n,a,j,i,s;
char b[]={0};
scanf("%d",&n);
while(n--)
{
j=0;
scanf("%d",&a);
for(i=1;i<=a;i++)
s=s*a;
while(s/10!=0)
{
b[j]=s;
s=s/10;
j++;
}
printf("%c\n",b[j]);
}
}