个位数
已知a和b,求出a^b的个位数。
Input
输入包含多组测试用例。 每组测试用例,包含两个数组a和b(0<a,b<=2^30)。
Output
对于每组测试用例,你需要输出a^b的个位数。
Sample Input
7 66 8 800
Sample Output
9 6
#include <stdio.h>
int main(void)
{
int a, b;
while(scanf("%d%d", &a, &b) == 2)
{
int ans[10][5]={
{0 ,0 ,0 ,0 ,0 },
{1 ,1 ,1 ,1 ,1 },
{6 ,2 ,4 ,8 ,6 },
{1 ,3 ,9 ,7 ,1 },
{6 ,4 ,6 ,4 ,6 },
{5 ,5 ,5 ,5 ,5 },
{6 ,6 ,6 ,6 ,6 },
{1 ,7 ,9 ,3 ,1 },
{6 ,8 ,4 ,2 ,6 },
{1 ,9 ,1 ,9 ,1 },
};
printf("%d\n", ans[a%10][b%4]);
}
}
还有一种方法是:只记录每次运算的个位数即可。