1004 n^n的末位数字 51 Nod N^N的末位数字-LMLPHP

题目来源: Author Ignatius.L (Hdu 1061)

基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题

给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。

Input

一个数N(1 <= N <= 10^9)

Output

输出N^N的末位数字

Input示例

13

Output示例

3

#include<bits/stdc++.h>

using namespace std;

int ans=1;

int N;

int f(int i)

{

    return (i*j)%10;

}

int f2(int k,int n)

{

    if(n==0)return 1;

    if(n==1)return k;

    if(n==2)return (k*k)%10;

    int time=log2(n);

    for(int i=0;i<time;i++)

    {

        k=f(k,k);

    }

    int left=n-pow(2,time);

    return (k*f2(N%10,left))%10;

}

int main()

{

    cin>>N;

    int k=N%10;

    ans=f2(k,N);

    cout<<ans<<endl;

    return 0;

}

05-11 15:38
查看更多