![]() |
|
|
![]()
|
|
| corpsehunter |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 24.2.2007 Репутация: нет Всего: 3 |
Нужно алгоритм проверки, является ли натуральное число квадратом какого-нибудь так же натурального числа.
п.с. Вообще, в целом нужно проверить, является ли заданное число Х решением уравнения эллиптической кривой в натуральных числах: y^2 = x^3 + a*x + c, а если нет, то найти ближайшее к нему Х (пожалуй, в верхнюю сторону), которое будет таковым. --------------------
Тест на IQ показал отрицательный результат... |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Простейший - извлечь кв. корень, полученное возвесть в квадрат и сравнить с исходным.
Если исходное в достаточной степени случайно - можно сначала проверять последние 1-2 цифры на предмет того, может ли это быть точным квадратом. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| corpsehunter |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 24.2.2007 Репутация: нет Всего: 3 |
нельзя извлекать корень - я оперирую исключительно с натуральными числами а результат извлечения корня - уже вещественное число.
вот это не понял? можно поподробнее? --------------------
Тест на IQ показал отрицательный результат... |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Не понял... извлекай на множестве натуральных, кто мешает... более того - ведь именно это тебе и нужно. Чего тут непонятного? Может ли быть квадратом число, последняя цифра которого - двойка? или последние две цифры которого - 55? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 4 Всего: 101 |
||||
|
||||
| corpsehunter |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 24.2.2007 Репутация: нет Всего: 3 |
а как мне его извлечь на множестве натуральных чисел? о_О почитал на википедии статью "Квадратный корень" - отличный способ "арифметическое извлечение" но он будет очень долгим, т.к. я буду оперировать с очень длинными целым и числами.
ну это я еще из предыдущего поста понял, что нужно смотреть последние числа - нужно какое-нибудь общее правило? оно вообще есть? --------------------
Тест на IQ показал отрицательный результат... |
||||
|
|||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 4 Всего: 101 |
вы технически не можете использовать ничего кроме целых, или это религиозные убеждения?
если технически, используйте блочный алгоритм, похожий на деление в столбик типа http://comp-science.narod.ru/DL-AR/koren.html потребуется хранить таблицу квадратов небольших чисел. можно приспособить к двоичному представлению |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |