不知道公式,修改了别人的代码,公式应该是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]); } }