fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5.  
  6. unsigned long long powerOf(unsigned long long a, unsigned long long b)
  7. {
  8. unsigned long long temp = a;
  9.  
  10. for(unsigned long long i = 1; i < b; ++i)
  11. {
  12. temp *= a;
  13. }
  14.  
  15. return temp;
  16. }
  17.  
  18. int getLeastSignificantDigit(unsigned long long a, unsigned long long b)
  19. {
  20. if(b == 0)
  21. return 1;
  22.  
  23. int m = b % 4;
  24. if(m == 1)
  25. return a % 10;
  26. else if(m == 2 || m == 3)
  27. return powerOf(a, m) % 10;
  28. else //(m == 0)
  29. return powerOf(a, 4) % 10;
  30. }
  31.  
  32. int main()
  33. {
  34. int tc = 0;
  35. unsigned long long a = 0, b = 0;
  36. cin >> tc;
  37. vector<int> results;
  38. while(tc--)
  39. {
  40. cin >> a >> b;
  41. results.push_back(getLeastSignificantDigit(a, b));
  42. }
  43.  
  44. for(unsigned long long i = 0; i < results.size(); ++i)
  45. {
  46. cout << results[i]
  47. << endl;
  48. }
  49.  
  50. return 0;
  51. }
Success #stdin #stdout 0s 3420KB
stdin
11
1289312391 0
1 2321323123
2 324324345
3 435435436
4 9080237
5 2163062
6 96123412
7 921638125
8 2128963591
9 21538123
0 182931253
stdout
1
1
2
1
4
5
6
7
2
9
0