51nod 1004 n^n的末位数字

基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。
Input
一个数N(1 <= N <= 10^9)
Output
输出N^N的末位数字
Input示例
13
Output示例
 3
题解:找每个数的循环规律即可。
AC代码:
 1 #include<iostream>
 2 using namespace std;
 3 int n;
 4 int a2[4]={6,2,4,8};
 5 int a3[4]={1,3,9,7};
 6 int a4[2]={6,4};
 7 int a7[4]={1,7,9,3};
 8 int a8[4]={6,8,4,2};
 9 int a9[2]={1,9};
10 int main()
11 {
12     cin>>n;
13     int k = n%10;
14     if(k==0||k==1||k==5||k==6)cout<<k<<endl;
15     else if(k==2)cout<<a2[n%4]<<endl;
16     else if(k==3)cout<<a3[n%4]<<endl;
17     else if(k==4)cout<<a4[n%2]<<endl;
18     else if(k==7)cout<<a7[n%4]<<endl;
19     else if(k==8)cout<<a8[n%4]<<endl;
20     else if(k==9)cout<<a9[n%2]<<endl;
21     return 0;
22 }

 

posted @ 2017-11-30 18:42  sortmin  阅读(137)  评论(0编辑  收藏  举报