#include<stdio.h> 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} }; //规律数组 int main() { int n; while (scanf("%d", &n) != EOF) { switch (n % 10) { case 0: if (n == 0) { printf("1\n"); break; } case 1: case 5: case 6:printf("%d\n", a[n % 10][0]); break; //0,1,5,6不管多少次方都是自己本身 case 2: case 3: case 7: case 8:printf("%d\n", a[n % 10][n % 4]); break; //2,3,7,8有规律 case 4: case 9:printf("%d\n", a[n % 10][n % 2]); break; } } } //两个数相乘,所得积的个位数=原两个数的个位数相乘所得积的个位数。 //因为一个数的个位数在0~9的范围内,可知它们不停的乘以自身,个位数一定是有循环节的: //例如0永远是0,1永远是1,2的循环节是2,4,8,6,其他数字自己写一下规律 |
Double click to view unformatted code.