小编MoS*_*FeT的帖子

递归功率函数:方法

我现在正在编程一段时间(初学者),递归函数对我来说是一个有点抽象的概念.我不会说我卡住了,程序运行正常,我只是想知道函数本身是否可以在代码中没有pow函数的情况下编写(但仍然正是在做问题所表明的)

问题:http: //prntscr.com/30hxg9

我的解决方案

#include<stdio.h>
#include<math.h>

int power(int, int);

int main(void)
{
    int x, n;
    printf("Enter a number and power you wish to raise it to: ");
    scanf_s("%d %d", &x, &n);
    printf("Result: %d\n", power(n, x));
    return 0;
}

int power(int x, int n)
{
    if (n == 0) return 1;
    if (n % 2 == 0) return pow(power(x, n / 2), 2);
    else return x * power(x, n - 1);
}
Run Code Online (Sandbox Code Playgroud)

我试过这样做:power(power(x,n - 1),2); 但是执行失败了,我仍在回溯原因.

c recursion pow

2
推荐指数
2
解决办法
5万
查看次数

标签 统计

c ×1

pow ×1

recursion ×1