Динамический массив в 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])
Другие вопросы по тегам