Я пытаюсь найти контрпример к Pólya Conjecture, который будет где-то в 900 миллионов. Я использую очень эффективный алгоритм, который даже не требует какой-либо факторизации (аналогично сите из Eratosthenes, но с еще большей информацией. Поэтому требуется большой массив ints.Создание очень большого массива Java
Программа эффективна и правильна , но требует массив до xi, который нужно проверить (он проверяет все числа из (2, x)). Итак, если контрпример в 900 миллионов, мне нужен массив, который будет таким же большим. 't позвольте мне что-нибудь около 20 миллионов.Есть ли что-нибудь, что я могу сделать, чтобы получить массив, который большой?
Можете ли вы объяснить, зачем нужен массив? Можете ли вы не использовать другую структуру данных, которая не обязательно должна быть в памяти сразу? – Apocalisp
Каждое число в массиве равно 0. Каждый композит настроен так, чтобы содержать int наибольшего простого множителя композита (ex: 6 будет иметь 3). Все это выполняется очень быстро без какого-либо модуля или таких вычислений, но требует, чтобы все прошлые числа все еще находились в памяти (поэтому на них можно ссылаться). – 2009-03-23 17:27:02
Другой алгоритм с двумя битами (для простых чисел и для нечетного числа простых коэффициентов) находит максимум 829 на 906316571 примерно за 4 минуты на моей машине. – starblue