HDU 1061 Rightmost Digit
题意 : 求n的n次方的个位数是多少。
思路 : 自己写一下看一下规律,会发现0,1,5,6的个位数怎么乘都是原来这个数,剩下的数也还是有规律。
1 #include <stdio.h> 2 #include <iostream> 3 #include <string.h> 4 5 using namespace std ; 6 7 int a[10][4] = {{0},{1},{6,2,4,8},{1,3,9,7},{6,4},{5},{6},{1,7,9,3},{6,8,4,2},{1,9}} ; 8 9 int main() 10 { 11 int T,n ; 12 scanf("%d",&T) ; 13 while(T--) 14 { 15 scanf("%d",&n) ; 16 int s = n ; 17 n %= 10 ; 18 if(n == 0 || n == 1 || n == 5 || n == 6) 19 printf("%d\n",a[n][0]) ; 20 else if(n == 2 || n == 3 || n == 7 || n == 8) 21 printf("%d\n",a[n][s%4]) ; 22 else if(n == 4 || n == 9) 23 printf("%d\n",a[n][s%2]) ; 24 } 25 return 0 ; 26 }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。