编写一个函数实现n^k,使用递归实现 :
int My_pow(int x, int n)
{
assert(n >= 0);
if(0 == n)
{
return 1;
}
else if(1 == n)
{
return x;
}
else
{
return x * My_pow(x, n - 1);
}
}
编写一个函数实现n^k,非递归实现:
int My_pow0(int x, int n)
{
assert(n >= 0);
int ret = 1;
while(n--)
{
ret *= x;
}
return ret;
}
测试代码:
int main()
{
int n = 0;
int k = 0;
printf("请计算输出N^k,输入n,k:\n");
scanf("%d%d",&n,&k);
printf("运算结果为:");
printf("%d\n",My_pow(n,k));
return 0;
}