51Nod 1004 n^n的末位数字

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

 1 #include <iostream>
 2 #include <cmath>
 3 #include <algorithm>
 4 #include <stdio.h>
 5 using namespace std;
 6 #define ll long long
 7 #define mod 10
 8 ll get_pow(ll x,ll n){
 9     ll ans=1;
10     while(n){
11         if(n%2){
12             ans=((x%mod)*(ans%mod))%mod;
13         }
14         x=(x%mod)*(x%mod)%mod;
15         n/=2;
16     }
17     return ans;
18 }
19 int main(void)
20 {
21     ll a,b;
22     while(cin>>a){
23         cout<<get_pow(a,a)<<endl;
24     }
25     return 0;
26 }

 

posted @ 2017-07-26 10:39  wydxry  阅读(282)  评论(0编辑  收藏  举报
Live2D