快速幂模板 代码如下:
- #include<iostream>
- #include<cstdio>
- using namespace std;
- typedef long long ll;
- ll qmod(ll a,ll b,ll c)
- {
- ll ans=1;
- a=a%c;
- while(b)
- {
- if(b&1) ans=(ans)*a%c;
- a=(a*a)%c;
- b>>=1;
- }
- return ans;
- }
- int main()
- {
- ll a,b;
- cin>>a>>b;
- cout<<qmod(a,b,100000007)<<endl;
- return 0;
- }
<a的b次方> 思想与快速幂一样,把对c取模的过程去掉就行了 代码如下:
- #include<iostream>
- using namespace std;
- typedef long long ll;
- ll pow(ll a,ll b)//a和b都默认正整数
- {
- ll ans=1;
- while(b)
- {
- if(b&1)
- {
- ans=a*ans;
- }
- a=a*a;
- b>>=1;
- }
- return ans;
- }
- int main()
- {
- ll b,n;
- cin>>n>>b;
- cout<<pow(n,b);
- return 0;
- }