nod_1004 n^n的末位数字(二分快速幂)

题意:

给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。
Input
一个数N(1 <= N <= 10^9)
OutPut
输出N^N的末位数字

思路:

EASY,,,,,,

 

代码:

int calc(int t,int n){
    if(n==0) ret 1;
    if(n==1) ret t;
    int s=calc(t,n/2);
    s=s*s%10;
    if(n&1){
        s=s*t%10;
    }
    ret s;
}
int main(){
    int n;
    
    cin>>n;
    int t=n%10;
    print("%d\n",calc(t,n));
    
    ret 0;
}

 

posted @ 2015-04-09 13:36  fish7  阅读(171)  评论(0编辑  收藏  举报