我希望以下内容能返回相同的结果:
#include <iostream>
#include <vector>
#include <math.h>
unsigned long long f(const std::vector<unsigned> &coefficients)
{
unsigned short exponent = coefficients.size() - 1;
unsigned long long sum;
for (unsigned i : coefficients)
{
sum += i * pow(36, exponent);
--exponent;
}
return sum;
}
int main()
{
std::cout << f({9,13,19,6,7,8,2});
}
,但是它返回20416905041
。
根据{{3}}上的Alex B,无符号长整型整数的最小容量为0到18446744073709709551615,因此容量似乎不是问题。
g++ mwe.cpp -std=c++11 -omwe