思路很简单系列 不过带坑【水水水】

来源:互联网 发布:学python还要学hadoop 编辑:程序博客网 时间:2024/06/05 04:28

Rightmost Digit

Time Limit: 1 Sec  Memory Limit: 32 MB
Submit: 21  Solved: 5
[Submit][Status][Web Board]

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

234

Sample Output

76

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.

Source



#include <stdio.h>int main(){long long n,x;long long m;while (~scanf("%lld",&n)){while(n--){scanf("%lld",&x);m = x % 10;if ( m == 1 || m == 5 || m == 6 || m == 0){printf("%lld\n", m);}if ( m == 2){if ( x % 4 == 0){printf("6\n");}if ( x % 4 == 1){printf("2\n");}if ( x % 4 == 2){printf("4\n");}if (x % 4 == 3){printf("8\n");}   }   if ( m == 3){if ( x % 4 == 0){printf("1\n");}if ( x % 4 == 1){printf("3\n");}if ( x % 4 == 2){printf("9\n");}if (x % 4 == 3){printf("7\n");}   }   if ( m == 4){if ( x % 2 == 0){printf("6\n");}if ( x % 2 == 1){printf("4\n");}   }   if ( m == 7){if ( x % 4 == 0){printf("1\n");}if ( x % 4 == 1){printf("7\n");}if ( x % 4 == 2){printf("9\n");}if (x % 4 == 3){printf("3\n");}   }   if ( m == 8){if ( x % 4 == 0){printf("6\n");}if ( x % 4 == 1){printf("8\n");}if ( x % 4 == 2){printf("4\n");}if (x % 4 == 3){printf("2\n");}   }   if ( m == 9){if ( x % 2 == 0){printf("1\n");}if ( x % 2 == 1){printf("9\n");}   }}}return 0;}

有坑啊 如果数非常非常大 long long 都不支持了。。。
题目有没有说范围。。。。
所以要用数组了。。。。。
0 0
原创粉丝点击