Код: Выделить всё
unsigned long long horner_hash(string str, int p, int m)
{
vector poly; /*TURN STRINGS INTO ASCII*/
for (int i = 0; i < str.size(); i++)
{
poly.push_back(static_cast(str[i]));
}
unsigned long long result = poly[0]; // Initialize
for (int i = 1; i < poly.size(); i++)
{
result = (result * p + poly[i]) % m;
}
return result;
}
hello
world
hashing
Функция
(они должны быть как)
/> ============================================================================================
#include
#include
unsigned long long horner_hash(
const std::string &str,
int p, int m)
{
auto result =
static_cast(str[0]);
for (int i = 1; i < str.size(); i++)
{
auto ull =
static_cast(str);
result = (result * p + ull) % m;
}
std::cout 99162322
world => 113318802
hashing => 186817213
function => 368739183
< /code>
Нет явно не так. Итак, еще раз:
Что происходит, когда «это не работает»
Подробнее здесь: https://stackoverflow.com/questions/797 ... ash-code-c
Мобильная версия