OJ 末位数字

Posted Life is Binary

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了 OJ 末位数字相关的知识,希望对你有一定的参考价值。

末位数字

发布时间: 2017年11月12日 20:19   最后更新: 2017年11月12日 20:20   时间限制: 1000ms   内存限制: 128M

  给定一个整数n, 求n的n次方的十进制表示的末位数字。(1 <= n <= 1e9);

  输入包括若干组测试数据, 以0结束, 0不需要处理。
  输入的每一行包括一个整数n。
  测试数据数量不大于1e6;

  对于输入的每一个n, 在一行中输出一个整数, 表示所要求的末位数字。

3
0
 
源码
  有点水。。顺序还可以改一改,少写几行代码,但我有点强迫症,等差数列的强迫症:(
 1 #include <stdio.h>
 2 int main(){
 3     int n;
 4     int temp = 1;
 5     // 0: 0
 6     // 1: 1
 7     // 2: 4 6
 8     // 3: 3 7
 9     // 4: 4 6
10     // 5: 5
11     // 6: 6
12     // 7: 7 3
13     // 8: 4 6
14     // 9: 1
15     while(scanf("%d",&n) != EOF){
16         if(n == 0)
17             break;
18         temp = n % 10;
19         switch(temp){
20             case 0:
21                 printf("0\n");
22                 break;
23             case 1:
24                 printf("1\n");
25                 break;
26             case 2:
27                 switch(n % 4){
28                     case 0:
29                         printf("6\n");
30                         break;
31                     case 2:
32                         printf("4\n");
33                         break;
34                 }
35                 break;
36             case 3:
37                 switch(n % 4){
38                     case 1:
39                         printf("3\n");
40                         break;
41                     case 3:
42                         printf("7\n");
43                         break;
44                 }
45                 break;
46             case 4:
47                 printf("6\n");
48                 break;
49             case 5:
50                 printf("5\n");
51                 break;
52             case 6:
53                 printf("6\n");
54                 break;
55             case 7:
56                 switch(n % 4){
57                     case 1:
58                         printf("7\n");
59                         break;
60                     case 3:
61                         printf("3\n");
62                         break;
63                 }
64                 break;
65             case 8:
66                 switch(n % 4){
67                     case 0:
68                         printf("6\n");
69                         break;
70                     case 2:
71                         printf("4\n");
72                         break;
73                 }
74                 break;
75             case 9:
76                 printf("9\n");
77                 break;
78         }
79     }
80     return 0;
81 }

 

以上是关于 OJ 末位数字的主要内容,如果未能解决你的问题,请参考以下文章

[51nod]1004 n^n的末位数字

51nod 1004 n^n的末位数字

九度oj 题目1397:查找数段

1004 n^n的末位数字

51Nod - 1004 n^n的末位数字

51nod 1004 n^n的末位数字快速幂