SCNU_2014省赛个人训练赛#3(Just for 13)report
来源:互联网 发布:莱昂纳德身体数据 编辑:程序博客网 时间:2024/04/29 20:11
B题正如题目所言,用快速幂取余:
把b转换成二进制数。
该二进制数第i位的权为
例如
11的二进制是1011
11 = 2³×1 + 2²×0 + 2¹×1 + 2º×1
因此,我们将a¹¹转化为算
其中,if(b&1)用于判断当前b最低位是否为1
b<<=1用于让b左移一位
由于积的最低位只由乘数的最低位影响,所以每次都只保留最低位,即%10,这样可以避免数过大溢出。
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#include <map>
#define INF 10010
using namespace std;
int solve(int a,int b){
int ans=1;
a=a%10;
while(b){
if(b&1) ans=(ans*a)%10;
a=(a*a)%10;
b>>=1;
}
return ans;
}
int main(){
int a,b;
while(~scanf("%d%d",&a,&b)) printf("%d\n",solve(a,b));
return 0;
}
0 0
- SCNU_2014省赛个人训练赛#3(Just for 13)report
- 个人训练赛#3
- (个人训练赛) poj1064 poj3616 poj3041
- 第二场个人训练赛(水题合集)
- SCNU_2013省赛选拔赛#2(Just for 12)解题报告
- 第一场个人训练赛
- 第二场个人训练赛
- 第三场个人训练赛
- 第四场个人训练赛
- 第三场个人训练赛
- 第九场个人训练赛
- 2017暑期ACM俱乐部个人训练赛第3场
- 暑假训练-个人赛第五场
- 第四场个人训练赛(未完成)
- 个人训练赛 B Battle SimulationPicture
- hdu 5362 Just A String 2015多校联合训练赛#6 动态规划
- 训练集---训练赛13
- 【个人训练】(POJ3279)Fliptile
- 常用算法三(贪心算法)
- 转换或查看lwp文件
- CountDownLatch和CyclicBarrier的区别
- WAMP集成环境虚拟机配置问题
- 常用算法一(分治算法)
- SCNU_2014省赛个人训练赛#3(Just for 13)report
- Handler准确描述
- 常用算法二(动态规划)
- 微信公众开放平台开发08---纯java 实现微信开发:编写自定义菜单
- Ubuntu android ant 环境搭建
- rsync + inotify 数据的实时备份
- 向量空间模型(VSM)的余弦定理公式(cos)
- 常用算法四(回溯算法)
- 在UIView中绘制直线、矩形、三角形