HDU 1061 Rightmost Digit (求n^n的最低位)
来源:互联网 发布:如何提高网络延迟 编辑:程序博客网 时间:2024/06/06 08:37
Rightmost Digit
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 52403 Accepted Submission(s): 19868
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.用原始的办法一定会超时!以下是快速幂的代码:#include<iostream>#include<stdlib.h>#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#include<math.h>#include<time.h>using namespace std;int PowerMod(int a, int b, int c)//快速幂{ int ans = 1; a = a % c; while(b>0) { if(b % 2 == 1) ans = (ans * a) % c; b = b/2; a = (a * a) % c; } return ans;}int main(){ int t,n; cin>>t; while(t--) { cin>>n; cout<<PowerMod(n,n,10)<<endl; } return 0;}以下是找规律的代码:(是比较容易想到的)int main(){ long long n; int a[10][4]={{0},{1},{6,2,4,8},{1,3,9,7},{6,4},{5},{6},{1,7,9,3},{6,8,4,2},{1,9}},d,t;//找规律 scanf("%d",&t); while(t--) { scanf("%lld",&n); d=n%10; if(d==0||d==1||d==5||d==6) printf("%d\n",d); else if(d==4||d==9) printf("%d\n",a[d][n%2]); else printf("%d\n",a[d][n%4]); } return 0;}
0 0
- HDU 1061 Rightmost Digit (求n^n的最低位)
- HDOJ-1061-Rightmost Digit (求n^n的最低位)
- Rightmost Digit(杭电1061)(求N^N的最低位)
- hdu 1061 - Rightmost Digit(求N^N末位)
- Rightmost Digit(求N^N的个位)
- 【杭电1061】Rightmost Digit 求n^n,找规律!!
- (hdu 1060 ,1061)求N^N的最高位和最低位(取对数,快速幂)
- hdu1061 Rightmost Digit N的N次方
- hdu 1060 - Leftmost Digit(求N^N最高位)
- HDU 1060 Leftmost Digit(求 n ^ n 的最高位的值)
- HDU Leftmost Digit(求n^n最高位的数字)
- HDOJ1060 Leftmost Digit(求n^n的最高位)
- 杭电1061 Rightmost Digit(快速幂取余取最低位)
- HDU 1060 Leftmost Digit(求n^n的最左位)
- 求n的阶层二进制最低位1的位置
- 求N!二进制最低位1的位置
- HDU 1061 Rightmost Digit 【快速求幂】
- 杭电 1061 Rightmost Digit计算N^N次方的最后一位
- linux下 gcc编译初学者使用教程
- day11--回顾
- struts 访问servlet api (ServletActionContext 方式)
- Android开发入门——推箱子游戏开发实战(十二)
- CVM ubuntux641604 搭建L2TP VPN
- HDU 1061 Rightmost Digit (求n^n的最低位)
- 利用NodeMcu和matplotlib的温度远程实时测量显示方案
- Android 小问题锦集
- java中路径问题详解
- LeetCode题解:Max Consecutive Ones
- Docker - Ubuntu 16.04安装Docker
- 小程聊微服务--微服务思想
- startActivityForResult启动Activity
- 【VS开发】Wix 安装教程