acm-快速幂
星空永恒&&卡利达
这个作者很懒,什么都没留下…
展开
-
快速求幂二分算法
#include int a,b; void input() { int pow1(); while(scanf("%d%d",&a,&b)==2) { pow1(); } } void pow1() { int r,base; base=a; r=1; while(b!=0) { if(b%2) { r=r*base;//把结果保留到r当中 }原创 2015-09-02 18:20:43 · 430 阅读 · 0 评论 -
hdu 1097 a hard puzzle
#include//题目的意思就是求a^b的最后一位数是多少 int main() { int a,b; int temp,temp1; int num[200000];//循环出来的一个周期的值都存储在数组当中 int t; while(scanf("%d%d",&a,&b)!=EOF) { t=2; a=a%10;// 此处是a^1,所以下面是b!=1循环了b-1次,原创 2015-09-10 22:57:44 · 382 阅读 · 0 评论 -
hdu 1061 Rightmost Digit 快速幂取模
#include #include #include using namespace std; //题目的重点是在个位层面上操作 //还有个思路是进行周期判断 int main() { int a,b; int r; int t; scanf("%d",&t); while( t-- ) { scanf("%d",&a); b=a; a=a%10;原创 2016-03-01 16:21:02 · 313 阅读 · 0 评论 -
hdu 2035 人见人爱A^B
#include #include #include using namespace std; //题目的重点是%1000 //还有个思路是进行周期判断 int main() { int a,b; int r; while( scanf("%d%d",&a,&b)!=EOF ) { if(a==0&&b==0) break;原创 2016-03-01 16:26:25 · 220 阅读 · 0 评论 -
位操作的快速幂
#include #include #include #include // 计算x^22 22 = 10110 = 16+4+2 // 十进制 二进制 十进制 // 按照原本的思路是a=a*a,之后是b=b/2; 也就是(16+4+2)/2 // 结果是(8+2+1)相当于把10110向右移1为,变成1011 ,原创 2016-03-08 20:30:04 · 266 阅读 · 0 评论