![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| motorway |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: 1 Всего: 0 |
Привет.
Есть ли готовая функция в PHP, проверяющая существует ли целый корень 8 степени из числа? Например, для 256 она должна возвращать true, для 257 - false. При этом она должна быть оптимальной по времени, например, если число оканчивается на 3, то заведомо не надо проверять это. Просто я начал писать свою, но, может, уже есть оптимальная по быстродействию? Да, кстати, это д.б. типа BCMath, т.е. для больших чисел Это сообщение отредактировал(а) motorway - 11.12.2008, 15:14 -------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
нет. учитывая сколько ты задал условий
|
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
Написал за пару минут. Проверяет не только корень 8 степени, а любой. Подойдет?
|
|||
|
||||
| motorway |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: 1 Всего: 0 |
Раньше я делал примерно так, но сейчас я написал свою, более сложную.
Она начинает считать корень 4 степени, только если есть 2 и т.п. К тому же проверяет окончание числа. -------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
А чем эта функция конкретно не устраивает?
|
|||
|
||||
| motorway |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: 1 Всего: 0 |
просто зачем считать большой корень, если уже сразу ясно для каких-то чисел, что его нету?
-------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Можно использовать более хитрые алгоритмы если известны ещё какие-нибудь данные о исследуемых числах.
|
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Разумеется, можно подойти к оптимизации с математической точки зрения и прописать сотни строк кода
-------------------- Всем добра |
|||
|
||||
| motorway |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: 1 Всего: 0 |
Понадобилось проверять, является ли число с большим кол-вом цифр 25-ой степенью. Как это сделать? Обычные функции вряд ли подойдут, нужны BC Math
Добавлено @ 22:03 А вообще что быстрее - извлекать корень 25-ой степени и проверять, целый он или нет, или сравнивать число с таблицей 25-ых степеней? Это сообщение отредактировал(а) motorway - 17.8.2009, 22:04 -------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
|||
|
||||
| nerezus |
|
||||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
Добавлено через 7 минут и 25 секунд
Но один из вариантов будет сложнее ;) |
||||
|
|||||
| motorway |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: 1 Всего: 0 |
Сейчас мой вопрос касается более нового поста, а не старой части.
-------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
А вообще почитал бы ты про оптимизацию: http://rsdn.ru/article/philosophy/Optimization.xml |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |