Динамический массив в GP/PARI
Мне нужно вычислить число простых чисел от 1 до N. Для этого я хочу разделить каждое следующее число n для простых чисел в диапазоне от 2 до sqrt(n). Для этого, в свою очередь, мне нужно хранить все ранее собранные простые числа.
Как я могу хранить их эффективно?
На всякий случай, мне неинтересен алгоритм определения количества простых чисел, меня интересует, как хранить данные такого рода в целом. В C++ я мог бы использовать std::vector, так как он перераспределяет себя соответствующим образом или, может быть, какой-то список.
1 ответ
Решение
В PARI/GP для эффективных динамических массивов вы можете использовать List
, Ведет себя как std::vector
в C++. Пожалуйста, смотрите пример ниже:
xs = List()
gp> List([])
listput(xs, 1);
listput(xs, 2);
xs
gp> List([1, 2])