# ZJYYC1200. a的b次方的个位数
时间限制:
C/C++ 1s
其他语言 2s
空间限制:
C/C++ 32MB
其他语言 64MB
题目描述
�
�
a
b
的个位数是多少呢?这个问题可以用同余定理来解决,但是这里的
�
b 很大,会发生TLE错误,你有什么好办法吗?
输入描述
测试数组由多组样例组成。每个样例一行,输入两个正整数
�
a 和
�
b。
0
≤
�
,
�
≤
2147483647
0≤a,b≤2147483647,且
�
a和
�
b不同时为0。
输出描述
对于每个样例,在一行中输出
�
�
a
b
的个位数。
测试样例1
输入
2 1
7 66
输出
2
9
以下为c++代码
#include <iostream>
using namespace std;
int lastDigitOfPower(int a, int b) {
if (b == 0)
return 1;
int lastDigit = a % 10;
int b_mod = b % 4;
if (b_mod == 0)
b_mod = 4;
int result = 1;
for (int i = 0; i < b_mod; ++i) {
result = (result * lastDigit) % 10;
}
return result;
}
int main() {
int a, b;
while (cin >> a >> b) {
int result = lastDigitOfPower(a, b);
cout << result << endl;
}
return 0;
}