编写返回基数和指数的函数

Writing a function that returns a base and an exponent

本文关键字:指数 函数 返回      更新时间:2023-10-16

我最近买了C++ How to Program, Early Objects Version 9th edition,以更好地C++编程。我在本书的第6章,我在问题部分,我对这个问题有问题。

编写一个返回 base ^ exponent 值的函数integerPower(base, exponent)

例如,integerPower(3, 4) = 3 * 3 * 3 * 3 .假设指数是一个正的、非零的整数,并且该基数是一个整数。不要使用任何数学库函数

我觉得有必要把它全部大写并加粗,因为他们不希望我使用#include <cmath>。如果我可以使用pow(x, y)我可以很容易地做到这一点,但我不能。这个问题让我很困惑。我将发布到目前为止的代码!也许我只是没有正确理解这个问题。任何帮助将不胜感激。我也知道我当前的代码没有多大意义,但我一直在尝试其他事情。再次感谢

#include <iostream>
using namespace std;
int integerPower(int base, int exponent)
{
    int answer = base * exponent;
    return answer;
}

int main()
{
    cout << integerPower(3, 4);
    return 0;
}

试试这个

#include <iostream>
using namespace std;
int integerPower(int base, int exponent)
{
    int answer = 1;
    for(int i=0; i<exponent; ++i)
        answer *= base;
    return answer;
}

int main()
{
    cout << integerPower(3, 4);
    return 0;
}

如果你想在这里有一点递归,

#include <iostream>
using namespace std;
int integerPower(int base, int exponent)
{
    if (exponent == 0) return 1; //Anything raised to power zero is one.
    else return base * integerPower(base,exponent-1);
}

int main()
{
    cout << integerPower(3, 4);
    return 0;
}