快速幂
诠释你的Mr贾
这个作者很懒,什么都没留下…
展开
-
a^b 快速幂
a^b 快速幂 注意最后对ans取模 #include<iostream> using namespace std; #define ll long long ll a,b,p ; int main() { cin>>a>>b>>p; ll ans=1; while(b) { if(b&1) { ans=(ans*a)%p; } a=a*a %p; b=b>>1; }原创 2021-02-04 11:41:16 · 46 阅读 · 0 评论 -
快速幂
思路: 以10^13为例,首先我们将13以二进制表示如下:0000 1101 10^13 = 10^1 * 10^4 * 10^8 我们根据二进制的长度,依次获取 10^1 10^2 = 10^1 * 10^1; 10^4 = 10^2 * 10^2; 10^8 = 10^4 * 10^4; #include<iostream> using namespace std; #define ll long long ll qpow(ll aa,int n){ ll ret=1; ll原创 2021-01-22 17:31:32 · 151 阅读 · 0 评论