實用技巧之快速冪

快速冪

1.求2^n

int poww(int x){
	if(x==0){
		return 1;
	}else if(x==1){
		return 2;
	}
	return poww(x/2)*poww(x/2)*poww(x%2);
	
}

2.求a^b

int mod=1000000007;
long long quickpoww(long long a,long long b){
    long long tot=1;
    while(b){
        if(b&1)
            tot=(tot*a)%mod;
        b>>=1;
        a=(a*a)%mod;
    }
    return tot;
}

mod防止數太大,一般題會說的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章