HDU1061-Rightmost Digit(快速幂取模)
来源:互联网 发布:部落冲突药水升级数据 编辑:程序博客网 时间:2024/05/02 00:59
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<string.h>#include<stdio.h>#include<ctype.h>#include<algorithm>#include<stack>#include<queue>#include<set>#include<math.h>#include<vector>#include<map>#include<deque>#include<list>using namespace std;int pow(int a,int b,int mod){ int result=1; while(b) { if(b&1) result=(result*a)%mod; a=(a*a)%mod; b>>=1; } return result%mod;}int main(){ int t,n; scanf("%d",&t); while(t--) { scanf("%d",&n); int t=pow(n%10,n,10); printf("%d\n",t); } return 0;}
快速幂:(比起上述代码少了取模环节)
#include<iostream>#include<string.h>#include<stdio.h>#include<ctype.h>#include<algorithm>#include<stack>#include<queue>#include<set>#include<math.h>#include<vector>#include<map>#include<deque>#include<list>using namespace std;int pow(int a,int b){ int result=1; while(b) { if(b&1) result=result*a; a=a*a; b>>=1; } return result;}int main(){ int t,n,m; while(scanf("%d%d",&m,&n)!=EOF) { int t=pow(m,n); printf("%d\n",t); } return 0;}
- HDU1061-Rightmost Digit(快速幂取模)
- HDU1061:Rightmost Digit(快速幂取模)
- HDU1061-Rightmost Digit(快速幂取模)
- HDU1061 Rightmost Digit(快速幂取模)
- 【快速幂取模】HDU1061 Rightmost Digit
- hdu1061 Rightmost Digit 标准快速幂
- HDU1061 Rightmost Digit【快速模幂】
- hdu1061 Rightmost Digit 【快速幂模板】
- HDU1061 - Rightmost Digit (二分幂取模)
- HDU1061:Rightmost Digit
- HDU1061 Rightmost Digit
- Rightmost Digit(HDU1061)
- hdu1061 Rightmost Digit
- HDU1061 Rightmost Digit
- HDU1061 Rightmost Digit
- hdu1061 Rightmost Digit
- Rightmost Digit(hdu1061)
- hdu1061 rightmost digit
- 海明校验码
- 关于CCControlSwitch设置在弹窗上后的触摸优先级问题
- <!DOCTYPE html>规范记录
- python模块导入机制
- Android开发中BuildConfig.DEBUG的使用
- HDU1061-Rightmost Digit(快速幂取模)
- 【转】软件测试工具LoadRunner中运行QTP脚本
- mysql 确定前缀索引长度方法
- TCP传输连接有限状态机转换机制
- C++冒泡排序模板
- 【Cocos2d-x游戏引擎开发笔记】进度条CCProgressTimer
- ubuntu12.04下将命令行提示符缩短
- tar打包命令
- 邻接表实现 prim