0001 #include<iostream> 0002 using namespace std; 0003 0004 uint64_t powerBF(uint64_t, int); 0005 uint64_t power(uint64_t, int); 0006 uint64_t power2BF_I(int); 0007 uint64_t power2_I(int); 0008 uint64_t power2BF(int); 0009 uint64_t power2(int); 0010 0011 int main(int argc, char* argv[]) { //测试Power 0012 uint64_t a; int r; 0013 if (3 > argc) { cout << "Usage: " << argv[0] << "<base><exponent>" << endl; return 1; } //检查参数 0014 a = _atoi64(argv[1]); r = atoi(argv[2]); //获取输入 0015 printf("\n2 ^ %d = %I64d = %I64d\n\n", r, power2BF_I(r), power2_I(r)); //迭代版 0016 printf("\n2 ^ %d = %I64d = %I64d\n\n", r, power2BF(r), power2(r)); //递归版 0017 printf("\n%I64d ^ %d = %I64d = %I64d\n\n", a, r, powerBF(a, r), power(a, r)); //通用算法迭代版 0018 return 0; 0019 }