Problem Description
Given a positive integer N, you should output the leftmost digit of N^N.
Input
The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.
Each test case contains a single positive integer N(1<=N<=1,000,000,000).
Each test case contains a single positive integer N(1<=N<=1,000,000,000).
Output
For each test case, you should output the leftmost digit of N^N.
Sample Input
2 3 4
Sample Output
2 2
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,n;
scanf("%d",&i);
while(i--)
{
scanf("%d",&n);
printf("%d/n",(int)pow(10,n*log10(n)-(__int64)(n*log10(n))));
}
}
本文介绍了一个算法问题:给定一个正整数N,如何找出N^N的最左侧数字。输入包含多个测试案例,每个案例由一个1到10亿之间的正整数N组成;输出为每个N对应的N^N的最左侧数字。

663

被折叠的 条评论
为什么被折叠?



