C语言- 递归实现n的k次方

Posted 跳动的bit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言- 递归实现n的k次方相关的知识,希望对你有一定的参考价值。

/***********************************************************************
目的:递归实现n的k次方
分析:k = 0 ->  1
   k > 0 ->   n * my_pow(n, k - 1)
   k < 0 ->   n * my_pow(n, -k)
平台:Visual studio 2017 && windows
*************************************************************************/

实现代码:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
double my_pow(int n, int k)
{
	if(0 == k)
		return 1.0;
	else if(k > 0)
 		return n * my_pow(n, k -1);
	else
		return 1.0 / (my_pow(n, -k));
}
int main()
{
	int n = 0;
	int k = 0;
	scanf("%d %d", &n, &k);
	double ret = my_pow(n, k);
	printf("%lf\\n", ret);
	return 0;
}

以上是关于C语言- 递归实现n的k次方的主要内容,如果未能解决你的问题,请参考以下文章

C语言-函数递归

计算1!+2!+3!...+(n-1)!+n!。设计求解该问题的C语言程序,阶乘的计算使用递归函数实现

如何在excel表中计算递归函数?

C语言 递归算法练习(阶乘,斐波那契..)

C语言编程递归实现n^k(幂运算)

编写一个函数实现n^k,使用递归实现