HDU:1061 Rightmost Digit(规律)

来源:互联网 发布:java正则表达式手机号 编辑:程序博客网 时间:2024/05/12 18:17

Rightmost Digit

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


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
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.
 

Author
Ignatius.L
 

Recommend

题目大意:求n的n次方的个位数
解题思路:
列举下,能得规律,n的n次方的个位数跟它本身的个位数和十位数有关,要么是固定的,要么是循环的数字。

看代码就能看到规律了:
#include <stdio.h>int main(){int t;scanf("%d",&t);while(t--){int n;scanf("%d",&n);int ge=n%10;//n的个位数 int shi=(n/10)%10; //n的十位数 if(ge==0){printf("0\n"); }if(ge==1){printf("1\n"); }if(ge==2){if(shi%2==0){printf("4\n");}else{printf("6\n");}}if(ge==3){if(shi%2==0){printf("7\n");}else{printf("3\n");}}if(ge==4){printf("6\n"); }if(ge==5){printf("5\n"); }if(ge==6){printf("6\n"); }if(ge==7){if(shi%2==0){printf("3\n");}else{printf("7\n");}}if(ge==8){if(shi%2==0){printf("6\n");}else{printf("4\n");}}if(ge==9){printf("9\n"); }}return 0;}


0 0
原创粉丝点击