HDU 1061 Rightmost Digit
来源:互联网 发布:java获取时间毫秒数 编辑:程序博客网 时间:2024/06/10 17:57
Rightmost Digit
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 45680 Accepted Submission(s): 17200
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).
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
76HintIn 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
We have carefully selected several similar problems for you: 1021 1008 1019 1071 1108
方法一:
0~9都可以4为循环节
#include<iostream>#include<stdio.h>#include<string>#include<string.h>#include<cmath>using namespace std;int main(){long long n;int t,k,q;while(cin>>t){while(t--){cin>>n;k=n%10;q=(n-1)%4+1; if(q==1)cout<<k<<endl;if(q==2)cout<<(k*k)%10<<endl;if(q==3)cout<<(k*k*k)%10<<endl;if(q==4)cout<<(k*k*k*k)%10<<endl;}}return 0;}
方法二:
#include<stdio.h>#include<string>#include<string.h>#include<cmath>#include<stack>using namespace std;int f(int a, int b, int c) //快速幂取余a^b%c{ int res, t; res = 1 % c; t = a % c; while (b) { if (b & 1) { res = res * t % c; } t = t * t % c; b >>= 1; } return res;}int main(){ int t; cin >> t; while (t--) { int n; cin >> n; cout << f(n, n, 10) << endl; } return 0;}
0 0
- HDU 1061 Rightmost Digit
- hdu 1061 Rightmost Digit
- (hdu 1061)Rightmost Digit
- HDU 1061 Rightmost Digit
- HDU 1061 Rightmost Digit
- hdu rightmost digit 1061
- HDU 1061 Rightmost Digit
- HDU 1061 Rightmost Digit
- hdu 1061 Rightmost Digit
- HDU 1061 Rightmost Digit
- HDU 1061 Rightmost Digit
- HDU 1061 Rightmost Digit
- hdu 1061 Rightmost Digit
- HDU 1061 Rightmost Digit
- hdu 1061 Rightmost Digit
- hdu 1061 Rightmost Digit
- HDU 1061 Rightmost Digit
- HDU-1061-Rightmost Digit
- 如何给awk传外部参数
- 谈谈virtual函数
- [Shader]对NGUI的UISprite和UITexture进行裁剪
- 指针基础概念
- 判断整数序列是不是二元查找树的后序遍历结果
- HDU 1061 Rightmost Digit
- C++对象的内存布局
- Lumen 5创建Facade类
- Nginx启动报错:10013: An attempt was made to access a socket in a way forbidden
- Vertica的这些事<十六>—— vertica备份与恢复
- Centos 7 系统安装
- Maven: Maven Coordinates
- Maven详解之仓库------本地仓库、远程仓库
- 算法复习——风骚的快速排序