首页 > 代码库 > 求幂函数代码比较
求幂函数代码比较
常规求幂
1 int pow1(int a,int b) 2 { 3 int r=1; 4 while(b--) 5 r*=a; 6 return r; 7 }
二分求幂(一般)
int pow2(int a,int b) { int r=1,base=a; while(b!=0) { if(b%2) r*=base; base*=base; b/=2; } return r; }
二分求幂(位操作,同pow2)
int pow4(int a,int b) { int r=1,base=a; while(b!=0) { if(b&1) r*=base; base*=base; b>>=1; } return r; }
快速求幂(位运算,更复杂)
int pow3(int x,int n) { if(n==0) return 1; else { while((n&1)==0) { n>>=1; x*=x; } } int result=x; n>>=1; while(n!=0) { x*=x; if((n&1)!=0) result*=x; n>>=1; } return result; }
求幂函数代码比较
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。