我正在尝试使用最简单的方法找到一个数字的单位数字。我知道模幂运算。我正在尝试实现与How to find the units digit of a certain power in a simplest way类似的东西,但是我的代码显示了SPOJ中某些测试用例的错误答案。以下是SPOJ中问题的链接:http://www.spoj.com/problems/LASTDIG/
#include<iostream>
using namespace std;
int main() {
int a2[] = {6, 2, 4, 8},
a3[] = {1, 3, 9, 7},
a4[] = {6, 4},
a7[] = {1, 7, 9, 3},
a8[] = {6, 8, 4, 2},
a9[] = {1, 9},
t;
long long int b1, b2;
cin >> t;
while (t--) {
cin >> b1 >> b2;
b1 = b1 % 10;
if (b2 == 0)
cout << 1 << endl;
else if (b1 == 0)
cout << 0 << endl;
else if (b2 == 1 || b1 == 5 || b1 == 6)
cout << b1 << endl;
else if (b1 == 2)
cout << a2[b2 % 4] << endl;
else if (b1 == 3)
cout << a3[b2 % 4] << endl;
else if (b1 == 4)
cout << a4[b2 % 2] << endl;
else if (b1 == 7)
cout << a7[b2 % 4] << endl;
else if (b1 == 8)
cout << a8[b2 % 4] << endl;
else if (b1 == 9)
cout << a9[b2 % 2] << endl;
}
return 0;
}
答案 0 :(得分:1)
第一
a7[]={1,7,0,3}
^^^
零应为9
a7[]={1,7,9,3}
和a9
a9[]={9,1}
^^^
应该是反向的
a9[]={1,9}