Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 01.03.2015
Сообщений: 30

Длинный массив чисел в Python

25.09.2016, 17:52. Показов 3802. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо создать массив, в котором будет 1.79769*10^308 элементов. Значение каждого элемента от 0 до 1.79769*10^308 соответственно.

Использую пакет numpy, но у него есть ограничения Решение задачи не найдена с помощью него.
Python
1
a = np.arange(0,179769000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,1)
Текст ошибки: Maximum allowed size exceeded

Добавлено через 11 минут
Такой огромный массив необходим для поиска простого числа до 1.79769*10^308

Сам алгоритм:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import numpy as np
n = 1000
a = np.arange(0,n,1) # заполнение массива значениями от 0 до n-1
 
# вторым элементом является единица, которую не считают простым числом
# забиваем ее нулем.
a[1] = 0
 
m = 2 # замена на 0 начинается с 3-го элемента (первые два уже нули)
while m < n: # перебор всех элементов до заданного числа
    if a[m] != 0: # если он не равен нулю, то
        j = m * 2 # увеличить в два раза (текущий элемент простое число)
        while j < n:
            a[j] = 0 # заменить на 0
            j = j + m # перейти в позицию на m больше
    m += 1
 
# вывод простого числа на экран, которое до 1.79769*10^308
b = []
for i in a:
    if a[i] != 0:
        b.append(a[i])
del a
b.reverse()
print (b[0])
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.09.2016, 17:52
Ответы с готовыми решениями:

Дан массив натуральных чисел. Получить самый длинный из отрезков последовательности
Даны натуральное n, массив из натуральных чисел A(n). Рассмотреть отрезки последовательности а1.....аn(элементов,идущих подряд), состоящих...

Дан неупорядоченный массив целых чисел. Найти самый длинный участок строгого возрастания, напечатать индексы
Дан неупорядоченный массив целых чисел. Найти самый длинный участок строгого возрастания, напечатать индексы элементов в начале и в...

Python Задан массив чисел в двоичной системе счисления. Упорядочить элементы массива по убыванию. Определить сумму чисел
Задан массив чисел в двоичной системе счисления. Упорядочить элементы массива по убыванию. Определить сумму чисел. Python

1
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
26.09.2016, 13:23
numpy ориентирован на работу с "нативными" числами, то есть с теми, с которыми может работать процессор.
У самого Питона есть свой тип больших чисел.

А вообще мне кажется, вы не поняли задание. Ясен пень, что столько памяти вам никто не даст. Ищите простое число как-то по другому.

Добавлено через 2 часа 58 минут
Чтобы вы поняли, поясняю.
1 гигабайт - это, округлённо, 1е+9 байт.
4 гигабайта, теоретический предел по памяти для 32-битных приложений - это 4е+9 байт. Для 64-битных приложений возводим это число в квадрат, получаем 16е+18 байт. Числа с вашими пределами - это float64, на одно число - 8 байт, то есть в теоретический предел для 64-битных приложений войдёт 2е+18 чисел.

То есть вам нужно примерно в 1.79769*10^308/2е+18 ~ 1е+290 раз памяти больше, чем составляет теоретический предел для 64-битных приложений.

Таких компьютеров нет и не предвидится. Но если вдруг когда-нибудь их изобретут, то, я думаю, даже Биллу Гейтсу, жалкому долларовому триллионеру, никогда не заработать на столько плашек памяти.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.09.2016, 13:23
Помогаю со студенческими работами здесь

В массиве чисел найдите самый длинный подмассив из одинаковых чисел
Помогите делать задание, пожалуйста: в массиве чисел найдите самый длинный подмассив из одинаковых чисел.

Из списка чисел путем вычеркивания некоторых чисел, не меняя порядка остальных, составить максимально длинный новый спис
Необходимо из списка чисел путем вычеркивания некоторых чисел, не меняя порядка остальных, составить максимально длинный новый список...

Длинный cli-массив
Такой код: array&lt;MyClass ^, 20001&gt; ^var; - выдает ошибку компиляции: error C2739: 20001: явно задаваемый массив управляемый может...

Найти длинный остаток от деления двух чисел
Упростить алгоритм готовой программы Требуется найти остаток от деления чисел. Проблема в следующем: При целом делении ничего не...

VBA. Не получается вставить длинный текст в массив
Доброго времени суток! Подскажите пожалуйста как можно вставить длинный текст в массив? Ниже пример (выделила то, что записывается в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru