这里的说法比较容易理解
http://blog.csdn.net/hkdgjqr/article/details/5381028这个说法不太容易理解,但是给出了这个算法的书本上的来源以及数学原理
http://blog.jobbole.com/74468/
我自己的实现过程
//
// main.cpp
// 快速求幂
//
// Created by 万昆 on 15/12/6.
// Copyright © 2015年 万昆. All rights reserved.
//
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int main(int argc, const char * argv[]) {
int x,n;
cin >>x>>n;
int ret=1;
while (n) {
if (n & 1) {
ret=ret*x;
}
n >>= 1;
x*=x;
}
cout << ret << endl;
return 0;
}
/*
while (n) {
if (n % 2) {
ret=ret*x;
}
n /= 2;
x*=x;
}
*/