【hdu 1061 Rightmost Digit】

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).
 
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 
原文地址:https://www.cnblogs.com/ismdeep/p/2582200.html