N的N次方

时间:2023-03-10 01:19:09
N的N次方

题目描述

现给你一个正整数N,请问N^N的最左边的数字是什么?

输入

输入包含多组测试数据。每组输入一个正整数N(N<=1000000)。

输出

对于每组输入,输出N^N的最左边的数字。

样例输入

3
4

样例输出

2
2 题意描述:
输入一个正整数N(N<=1000000)
输出N^N的最左边的数字 解题思路:
for循环控制与N相乘N次
每次相乘后看当前结果是否大于10,若大于等于10循环除以10直到小于10(即为个位数)
for循环结束后输出结果即可 代码:
 #include<stdio.h>
int main()
{
double r;
int i,n;
while(scanf("%d",&n) != EOF)
{
r=;
for(i=;i<=n;i++)
{
r *= n;
//printf("%lf\n",r);
while(r>=)
{
r /= ;
//printf("%lf\n",r);
}
}
printf("%d\n",(int)r);
}
return ;
}

测试样例:

5

6

1

0

样例输出:

3

4

1

1

易错分析:

1、此题容易当成大整数运算求解,细想直接求出结果会很麻烦,只要最高位则用浮点数近似运算即可(比赛时克服畏难情绪)