快速幂
题单介绍
# **快速幂练习**
附上基本快速幂的代码(计算a^b)
------------
#### 简单易懂
------------
```cpp
#include <bits/stdc++.h>
int a,b;
int quick_pow(int a,int b)
{
int ret=1;
while(b!=0)
{
if(b%2==1)
{
ret*=a;
}
a*=a;
b/=2;
}
return ret;
}
int main()
{
scanf("%d%d",&a,&b);
printf("%d\n",quick_pow(a,b));
return 0;
}
```
------------
#### 优化代码
```cpp
#include <bits/stdc++.h>
int a,b;
int quick_pow(int a,int b){
int ret=1;
while(b){
if(b&1)ret=ret*a;
a*=a;
b>>=1;
}
return ret;
}
int main(){
scanf("%d%d",&a,&b);
printf("%d\n",quick_pow(a,b));
return 0;
}
```