Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> большие целые числа, как сделать 
V
    Опции темы
motorway
Дата 25.9.2009, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: 1
Всего: 0



В таком случае, может, поискать уже готовое решение для этой проблемы в другом ключе?
PM MAIL   Вверх
Simpliest
Дата 25.9.2009, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Ищите smile я вам мешаю?


--------------------
user posted image
PM   Вверх
Simpliest
Дата 26.9.2009, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(Simpliest @  25.9.2009,  20:45 Найти цитируемый пост)
и соответственно  1/n *Ln(X) < 1.

Так, задачка решена

С оставшейся дробной степенью мы поступаем следующим образом.
1. Домножаем еще на 2/2 до тех пор пока она не станет больше 1 
2. 0.2*Ln(X) * 2/2 * 2/2 * 2/2 = 1.6 * Ln(X) / 8 = Ln(X) / 8  + 0.6 * Ln(X) /8
небольшое уточнение, естественно раскладывать в п.2 нам надо на целую и дробную часть, а не на 1*Ln(X) и 0.6 * Ln(X) 
Т.е. мы должны получить что-то вида C/8 + D/8, где С - целое, а D - дробное.

3. Левую часть мы уже можем считать. Для этого возводим e в полученную степень (С) и  извлекаем квадратный корень, столько раз, сколько домножали на 2/2 (в нашем примере 3 раза)
4. Правую прогоняем через п.1.
5. Потом считаем произведение полученного ряда.
6. И так до тех пор пока не достигнем приемлимой точности.

Цитата(motorway @  25.9.2009,  21:40 Найти цитируемый пост)
Так что я не бездарный лентяй, а просто реализовывать предложенную функцию, пока она не проверена автором, не хочется.

Если вы не бездарный - то придумаете/вспомните формулу.
Если вы не лентяй - то реализуете по предложенному алгоритму.

Но вы не делаете ни того, ни другого, а просите других решить это за вас. 
Все просто и выводы каждый сделает для себя. 



--------------------
user posted image
PM   Вверх
motorway
Дата 26.9.2009, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: 1
Всего: 0



Я собственно не просил решать это за меня, а просил подсказать готовое решение, используемое другими программистами в этом случае. Вряд ли каждый будет делать таким способом. Я просто думал, что если кто знает, как это уже сделано, то может выложить. Возможно, этот алгоритм единственный, и по-другому нельзя. Но вполне возможно, есть более простой и эффективный способ это сделать.

Код

Если вы не лентяй - то реализуете по предложенному алгоритму.

В первом случае в нем была ошибка, поэтому я и не торопился сразу бежать кодировать, пока автор не убедился в правильности предложенной вещи

Это сообщение отредактировал(а) motorway - 26.9.2009, 22:45
PM MAIL   Вверх
NLspieler
Дата 26.9.2009, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 16
Всего: 19



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

Поискал в интернете, есть алгоритм извлечения корня столбиком.
Возможно, функции sqrt, pow, извлекают корени подобным образом. 

Если не удастся придумать что то более продуктивное, то попробую реализовать стобиковый алгоритм. 
PM MAIL   Вверх
motorway
Дата 26.9.2009, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: 1
Всего: 0



По идее, те, кто делал PHP, должны знать. Только у кого конкретно это спросить?
PM MAIL   Вверх
nerezus
Дата 27.9.2009, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



motorway, ты понял, что сказал?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
motorway
Дата 27.9.2009, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: 1
Всего: 0



А что я такого сказал? Кто-то из разработчиков делал эти функции, поэтому он должен знать, как решается мой вопрос. Но кто их делал, я не знаю
PM MAIL   Вверх
nerezus
Дата 27.9.2009, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

А что я такого сказал? Кто-то из разработчиков делал эти функции, поэтому он должен знать, как решается мой вопрос. Но кто их делал, я не знаю
 Сами рассчеты(libbcmath) писал Фил Нельсон. А Энди Гутманс писал экстеншн для PHP на основе libbcmath. При этом Гутманс мог даже не знать, как оно все работает - это не нужно.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0644 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.