HDU 1061 Rightmost Digit(找规律)

Rightmost Digit

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 43732    Accepted Submission(s): 16434

 

 

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 //4为周期
 2 #include <iostream>
 3 #include <cstdio>
 4 using namespace std;
 5 int main()
 6 {
 7     long long n;
 8     cin>>n;
 9     long long t;
10     while(n--){
11         cin>>t;
12         int k=t%4;
13         t%=10;
14         if(k==2) t=t*t;
15         if(k==3) t=t*t*t;
16         if(k==0) t=t*t*t*t;
17         t%=10;
18         cout<<t<<endl;
19     }
20     return 0;
21 }

 

你可能感兴趣的:(HDU 1061 Rightmost Digit(找规律))