Rightmost Digit
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 18122 Accepted Submission(s): 6946
Problem Description
Given a positive integer N, you should output the most right digit of N^N.
Input
The
input contains several test cases. The first line of the input is a
single integer T which is the number of test cases. T test cases follow.
Each test case contains a single positive integer N(1<=N<=1,000,000,000).
Each test case contains a single positive integer N(1<=N<=1,000,000,000).
Output
For each test case, you should output the rightmost digit of N^N.
Sample Input
2
3
4
Sample Output
7
6
Hint
In the first case, 3 * 3 * 3 = 27, so the rightmost digit is 7.
In the second case, 4 * 4 * 4 * 4 = 256, so the rightmost digit is 6.
Author
Ignatius.L
1 // Project name : 1061 ( Rightmost Digit ) 2 // File name : main.cpp 3 // Author : Izumu 4 // Date & Time : Mon Jul 9 09:32:56 2012 5 6 7 #include <iostream> 8 using namespace std; 9 10 int main() 11 { 12 int t; 13 cin >> t; 14 while (t--) 15 { 16 int num; 17 cin >> num; 18 int a = num % 10; 19 num = num % 4; 20 int sum = a; 21 if (num == 0) 22 { 23 num = 4; 24 } 25 for (int i = 0; i < num - 1; i++) 26 { 27 sum *= a; 28 } 29 cout << sum % 10 << endl; 30 } 31 return 0; 32 } 33 34 // end 35 // ism