total=a;
for(int i=1;i<=b;i++)
total=pow(a,b);
问题:
当执行5 ^ 2的幂或5的任意倍数时,它给出输出实际值-1
否则对于其他数字,其输出是正确的。
答案 0 :(得分:2)
如果您想使用循环手动计算数字的幂,您可以
long power(long base, long exp)
{
long total = 1;
for(long i = 0; i < exp; ++i)
{
total *= base;
}
return total;
}
实施例
int main()
{
long base = 5;
long exp = 3;
long answer = power(base, exp);
std::cout << answer << std::endl;
}
输出
125
请注意,这仅适用于正整数指数。