
快速幂
诠释你的Mr贾
这个作者很懒,什么都没留下…
展开
-
a^b 快速幂
a^b 快速幂注意最后对ans取模#include<iostream>using namespace std;#define ll long longll 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 · 86 阅读 · 0 评论 -
快速幂
思路:以10^13为例,首先我们将13以二进制表示如下:0000 110110^13 = 10^1 * 10^4 * 10^8我们根据二进制的长度,依次获取10^110^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 longll qpow(ll aa,int n){ ll ret=1; ll原创 2021-01-22 17:31:32 · 198 阅读 · 0 评论