Я реализовал algorithm
, который печатает все положительные целочисленные решения в уравнении a^3 + b^3 = c^3 + d^3
, где a, b, c, d являются целыми числами от 1 до 1000. Для этого я использовал hash table
, чтобы отбросить complexity
до O(N2)
. H = c^3 + d^3
Почему я получаю ошибку дампа ядра с моей хэш-таблицей, когда она превышает определенный размер?
Ниже hash table
, что я использовал (список пар целых чисел):
int n = 10;
int m = pow(n,3)+pow(n,3);
list< pair<int,int> > hashTable[m+1]; //(*) Core Dump here if n>50. Why?
Мой код работает правильно, когда п < = 50. Но я не могу запустить свой algorithm
для n> 50. Таким образом, я не могу решить проблему для n = 1000. Я получаю базовый дамп в строке (*). Можете ли вы объяснить, почему это происходит, и помочь мне лучше реализовать свой hash table
?
Благодарим вас за внимание!
На каком языке это написано? – ItamarG3