时间限制:
1 Sec
内存限制:
32 MB
题目描述
现给你一个正整数N,请问N^N的最左边的数字是什么?
输入
输入包含多组测试数据。每组输入一个正整数N(N<=1000000)。
输出
对于每组输入,输出N^N的最左边的数字。
样例输入
3
4
样例输出
2
2
思路
n^n = a10^k, k=(int)log10(n^n);
log10(n^n)=nlog10n=log10a+k;
log10a=nlog10n-k;
a=10^(nlog10n-k).
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
double k;
while(~scanf("%d",&n)){
k=n*log10(n);
printf("%d\n",(int)pow(10,k-(int)k));
}
return 0;
}