Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
 Аватар для Jesterru
3 / 2 / 2
Регистрация: 19.06.2016
Сообщений: 299

Получение N знака числа Pi

11.07.2018, 21:29. Показов 4034. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Заинтересовала идея хранения файла "в числе Пи". Решил сделать программу для конвертации информации в этот вид. Возникли следующие проблемы :

1. Как узнать N знак числа Пи, не вычисляя предыдущие? Совершенно не ясна данная формулировка :
https://habr.com/post/179829/
Как же работает алгоритм вычисления N-го знака Пи?
К примеру, если нам нужен 1000-й шестнадцатеричный знак числа Пи, мы домножаем всю формулу на 16^1000, тем самым обращая множитель, стоящий перед скобками, в 16^(1000-k). При возведении в степень мы используем двоичный алгоритм возведения в степень или, как будет показано в примере ниже, возведение в степень по модулю. После этого вычисляем сумму нескольких членов ряда. Причём необязательно вычислять много: по мере возрастания k 16^(N-k) быстро убывает, так что, последующие члены не будут оказывать влияния на значение искомых цифр). Вот и вся магия — гениальная и простая.
2. Пока искал информацию на вышеупомянутую тему, нашел много ресурсов, где говорилось, что вычислить N число без вычисления предыдущих невозможно.
Тогда если я захочу хранить число Пи в какой-то переменной, то я не смогу хранить слишком большое число, т.к. макс. размер объекта - 2 гб. Значит нельзя использовать весь потенциал данного способа.

Как решить эти проблемы?

Добавлено через 5 минут
По поводу пункта 1. Я понял, что сумма всех результатов с i от 0 до бесконечности и позволяет вычислить Пи, но как с помощью этого узнать N знак без вычисления предыдущих, я так и не понял.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.07.2018, 21:29
Ответы с готовыми решениями:

Изменение знака числа в С#
Дело обстоит в том, что мне необходимо сделать изменение знака числа (+/-) по клику на кнопку, но идей у меня как таковых не имеется, жду...

RegEx: Поиск числа и его получение без разделительного знака
есть текст например: "бла бла 1.34 бла ла бла " нужно вытащить 134 без точки. дошел до: (@"(?<=бла )\d+") но не...

Даны два действительных числа. Если числа одного знака, то вывести их произведение
Даны два действительных числа. Если числа одного знака, то вывести их произведение.Помогите с практикой

4
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
12.07.2018, 00:46
1. К чему этот вопрос, если в статье приведен готовый код на Си?
2. Можешь расслабиться, метод хранения все равно утопический.
Нужное смещение может находиться настолько далеко, что значение этого смещения будет больше, чем размер самого файла.
0
 Аватар для Jesterru
3 / 2 / 2
Регистрация: 19.06.2016
Сообщений: 299
12.07.2018, 10:05  [ТС]
nicolas2008, С первым пунктом уже разобрался.
По поводу второго. Вы правильно подметили, что смещение может весить больше, чем сам файл. Но что, если разбить файл на 2 части? Шансы найти нужную часть по меньшему смещению будут выше. У меня есть чувство, что всю информацию можно хранить в 1 к 1, как и на жестких дисках. Опять же, если ОЧЕНЬ повезет, то можно хоть весь файл хранить со смещением 0. А почему бы не использовать лишний байт для указания N нормального числа? Ведь у числа Пи есть множество "собратьев". В каких-то ситуациях это может помочь.
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
12.07.2018, 11:47
Цитата Сообщение от Jesterru Посмотреть сообщение
Но что, если разбить файл на 2 части? Шансы найти нужную часть по меньшему смещению будут выше.
Кстати да, дробить файл на несколько частей это интересная идея.
0
5 / 4 / 1
Регистрация: 08.04.2019
Сообщений: 48
08.05.2019, 07:39
Хочу снова понять данную тему, т.к. недавно создал такую же тему, но пока никто не ответил как же работает этот алгоритм...
Вычисление N-го знака числа Пи без вычисления предыдущих
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.05.2019, 07:39
Помогаю со студенческими работами здесь

Как выводить спецсимволы? Типа знака степени, знака корня и т.д.
Вы уж извините, что много тем создаю. Я не нашел...

Округлениче числа до одного знака после запятой
Имеется число: 7, 19382834 (грубо говоря). Нужно округлить до 7, 1. Подскажите, пожалуйста.

Определить цифры целого числа (тип числа - целое без знака)
Определить цифры целого числа( тип числа-целое без знака), вычислить сумму полученных цифр. Помогите ,пожалуйста.

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

Изменение знака числа
Здравствуйте специалисты! Подскажите как из положительного числа с запятой сделать такое-же отрицательное? Допустим, я извлек число...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
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, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru