HDU 1061 Rightmost Digit(快速幂取模)

网友投稿 788 2022-08-23

HDU 1061 Rightmost Digit(快速幂取模)

HDU 1061  Rightmost Digit(快速幂取模)

Rightmost Digit

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 45296    Accepted Submission(s): 17031

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

题解:快速幂取模!!!

#include#includeint qmod(long long a,long long b,int c){ int ans=1; a=a%c; while(b>0){ if(b&1) ans=(ans*a)%c; b=b>>1; a=(a*a)%c; } return ans;}int main(){ int n; long long t; scanf("%d",&n); while(n--) { scanf("%lld",&t); printf("%d\n",qmod(t,t,10)); } return 0;}

听说是ans的周期是20......(无语。。。)

#includeint main(){ int T,n; int a[25]={0,1,4,7,6,5,6,3,6,9,0,1,6,3,6,5,6,7,4,9,0}; scanf("%d",&T); while(T--) { scanf("%d",&n); printf("%d\n",a[n%20]); } return 0;}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:L1-2. 打印沙漏
下一篇:Android通用流行框架大全(android最火的框架)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~