这是一道比较简单的编程题,考察对递归的应用。
首先在函数内部需要判断k是否为0(指数为0),再判断k是否为1(指数为1),当k既不为0也不为1时使用递归,
判断的三个条件即为递归的出口!(递归的出口非常重要,如果递归没有出口后果非常严重!)
源代码:
#include<stdio.h>
int nPowersOfk(int n, int k)
{
if (k == 0)
{
return 0;
}
else if (k == 1)
{
return n;
}
else
{
return n*nPowersOfk(n, k - 1);
}
}
int main()
{
int n = 3;
int k = 3;
printf("%d\n", nPowersOfk(n,k));
return 0;
}