计算x^n

题目描述

编写程序计算x^ n,如果换一种方法计算 x^ n,9.6节的power函数速度可以更快。我们注意到,如果n是2的幂,则可以通过自乘的方法计算x^ n。例如 x^ 4 是x^ 2的平方,所以x^ 4可以用两次乘法计算,而不需要三次乘法。这种方法甚至可以用于n不是2的幂的情况。如果n是偶数,可以用公式x^n
= (x^ n/2)2;如果n是奇数,则x^ n = x * x^ (n-1)。编写计算x^n的递归函数(递归在n=0时结束,此时函数返回1)。
2 3
8
编写两个函数:main和power。下面给出power函数的原型:
int power(int x, int n);
在main函数中输入整数x和正整数n的值,调用power计算x^n,然后显示函数的返回值。

输入

输入整数x和正整数n,x和n之间间隔一个空格。

输出

输出x^n的值。

样例输入

2 3

样例输出

8

#include <stdio.h>
int power(int x, int n);

int main(void)
{
    int x, n;

    scanf("%d %d", &x, &n);

    printf("%d", power(x, n));

    return 0;
}

int power(int x, int n)
{
    if (n == 0)
    {
        return 1;
    }
    else if (n % 2 == 0)
    {
        int result = power(x, n / 2);
        return result * result;
    }
    else
    {
        return x * power(x, n - 1);
    }
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值