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