我在这项职能中做了哪些错误。 我确信,问题在于<条码> = 支出(基数,pwr /= 2)*(基数,pwr /= 2);,但我不能认为合乎逻辑的理由。 是否有办法写出像这样的参数? 预先感谢。 页: 1 是错误的
#include <iostream>
using namespace std;
unsigned long& exp(unsigned long& base, unsigned long& pwr)
{
if(pwr == 0)
base = 1;
else if(pwr == 1)
base = base;
else
base = exp(base, pwr /= 2) * exp(base, pwr /= 2);
return base;
}
int main()
{
unsigned long n=2, m = 4;
cout << exp(n,m) << endl;
return 0;
}