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

时间:2015-01-24 04:23:31

标签: c++

我最近购买了C ++如何编程,早期对象版本第9版,以便更好地了解C ++编程。我在本书的第6章,我在问题部分,我遇到了这个问题。

编写一个返回integerPower(base, exponent)

值的单个函数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;
}

2 个答案:

答案 0 :(得分:2)

试试这个

#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;

}

答案 1 :(得分: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;
}
相关问题