C语言 递归求 a^n 的次方。

您所在的位置:网站首页 使用递归算法求解x的n次方和n次方 C语言 递归求 a^n 的次方。

C语言 递归求 a^n 的次方。

2023-09-10 12:54| 来源: 网络整理| 查看: 265

int pow(int a,int n)    ::这个递归函数的目的是 求 a^n 次方,并返回结果。

2 * a^(n-1)  就等于 a^n 。不要往里绕,很容易绕进去,每次递归 n 的值都会减1,最终n会变成0,而 a^0 = 1,这个就是递归的终止条件。  

int pow(int a,int n) {     if (n == 0)     {         return 1;     }     return 2 * pow(a, n - 1);

假设 a=2,n=3,求a^n。

    第一次进入程序,a=2,n=3判断语句无效,进入第一次递归,a=2,n=2判断语句无效,第二次进入递归,a=2,n=1判断语句无效,第三次进入递归,a=2,n=0判断语句有效返回1,回到第二次递归1*2=2,返回2。回到第一次递归2*2=4,返回4,退出所有递归 继续执行程序返回4*2=8, 最终的返回结果为8。 return  2 * pow(a, n - 1)  ==  return  2 * 4 = 8

1 * 2 * 2 * 2 = 8 

下面是 递归求平方 的程序

#include int pow(int a,int n) {     if (n == 0)     {         return 1;     }     return 2 * pow(a, n - 1); } int main() {     int a = 2;     int n = 3;     printf("请输入底数->:");     scanf_s("%d", &a);     printf("请输入次方数->:");     scanf_s("%d", &n);     int get = pow(a,n);     printf("%d", get);     return 0; }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3