乍看,以为是道大数的题目,其实计算结果是呈现周期性的
#include<bits/stdc++.h>
#define LL long long
using namespace std;
int main()
{
LL a,b;
while(scanf("%lld %lld",&a,&b)!=EOF)
{
a=a%10; b=b%4==0?4:b%4;
int temp=1;
for(int i=0;i<b;i++)
temp=(temp*a)%10;
printf("%d\n",temp);
}
return 0;
}
//a^b 根据b的变化呈现4的周期规律,根据(a*a)%c得到temp=(temp*a)%10
/* 找规律: 每4个 就又和前面一样了
* 下面数字,是 1^1~1^10 到 10^1~10^10;
1 1 1 1 1 1 1 1 1 1
2 4 8 6 2 4 8 6 2 4
3 9 7 1 3 9 7 1 3 9
4 6 4 6 4 6 4 6 4 6
5 5 5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6 6 6
7 9 3 1 7 9 3 1 7 9
8 4 2 6 8 4 2 6 8 4
9 1 9 1 9 1 9 1 9 1
0 0 0 0 0 0 0 0 0 0
*/