hdu 1061 Rightmost Digit
也是明显会溢出的题目,考虑优化
考虑到一个数次方一直增加,最后一位会出现规律比如2就会2、4、8、6循环
再加上次数是N又简化些
代码貌似不是很简化,可以一个变量存储结果,最后输出(不过看着比较优美,懒得改了),其实比赛中很少去考虑这些小的优化的,平时可能会看看oj上显示自己程序代码多少B,空间多少,然后改程序少一个字母就挺兴奋的,比赛的时候主要就考虑整体的算法了,这就要靠平时养成一些好习惯啦
1 #include<stdio.h>
2 int main()
3 {
4 int n,num;
5 int a[4][4]={{6,2,4,8},{1,3,9,7},{1,7,9,3},{6,8,4,2}};
6 scanf("%d",&n);
7 while(n--)
8 {
9 scanf("%d",&num);
10 switch(num%10)
11 {
12 case 0:printf("0\n");
13 break;
14 case 1:printf("1\n");
15 break;
16 case 2:printf("%d\n",a[0][num%4]);
17 break;
18 case 3:printf("%d\n",a[1][num%4]);
19 break;
20 case 4:printf("6\n");
21 break;
22 case 5:printf("5\n");
23 break;
24 case 6:printf("6\n");
25 break;
26 case 7:printf("%d\n",a[2][num%4]);
27 break;
28 case 8:printf("%d\n",a[3][num%4]);
29 break;
30 case 9:printf("9\n");
31 }
32 }
33 return 0;
34 }