71.数值的整数次方。
题目:实现函数 double Power(double base, int exponent) ,求 base 的 exponent 次方。
不需要考虑溢出。
*/
/* 71.数值的整数次方。 题目:实现函数 double Power(double base, int exponent) ,求 base 的 exponent 次方。 不需要考虑溢出。 */ #include<iostream> #include<stdio.h> using namespace std; double power1(double base, int exponent) { double result=1.0; for(int i=1;i<=exponent;++i) result*=base; return result; } double power2(double base, int exp)//类似与矩阵相乘 { if(exp==1) return base; double half=power2(base,exp>>1);//对半相乘 return ((exp&1)==1?base:1.0)*half*half; } int main() { int n,k; while(cin>>n>>k,n) { cout<<n<<"的"<<k<<"次方,方法一:"<<power1(n,k)<<endl; cout<<n<<"的"<<k<<"次方,方法二:"<<power2(n,k)<<endl; } return 0; }