算法|快速幂 教程

【算法|快速幂 教程】对于an,若n为奇数,a^(n-1)*a;
若n为偶数,a^(n/2)*a^(n/2) ;
若n为0, 1。
算法|快速幂 教程
文章图片

算法|快速幂 教程
文章图片


/* 快速幂 对于an,若n为奇数,a^(n-1)*a; 若n为偶数,a^(n/2)*a^(n/2) ; 若n为0, 1。 */ #include using namespace std; int x, p, m, i,result; int main() { int x,n; cin >> x >> n; result = 1 ; while (n!=0) {if (n % 2 == 1)result= result*x; n /= 2; x=x*x; } cout << result<< endl; return 0; }


    推荐阅读