Поскольку функция BitSet.get()
использует аргумент int
, я думал, могу ли я хранить более 2^32 бит в BitSet
, и если да, то как бы я их извлечил?может java.util.BitSet содержать больше MAX_INT нет. бит?
Я делаю проект Эйлера, где мне нужно генерировать простые числа до 10^10. Алгоритм, который я использую для генерации простых чисел, - это сито Erathonesus, сохраняющее логические значения в битах в BitSet. Любое обходное решение для этого?
Попробуйте использовать [BigInteger] (http://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html) с помощью «BigInteger.nextProbablePrime». Для меня это работает так, как я ожидаю. – n1ckolas
Решетка Эратосфена не предназначена для нахождения больших простых чисел. Я бы порекомендовал другой подход. В записи Википедии предлагается псевдослучайное первичное сито. – Pace