Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Алгоритм проверки извлечения квадратного корня 
:(
    Опции темы
corpsehunter
Дата 27.6.2011, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Нужно алгоритм проверки, является ли натуральное число квадратом какого-нибудь так же натурального числа.

п.с. Вообще, в целом нужно проверить, является ли заданное число Х решением уравнения эллиптической кривой в натуральных числах: y^2 = x^3 + a*x + c, а если нет, то найти ближайшее к нему Х (пожалуй, в верхнюю сторону), которое будет таковым.
--------------------
Тест на IQ показал отрицательный результат...
PM MAIL   Вверх
Akina
Дата 27.6.2011, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



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



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
corpsehunter
Дата 27.6.2011, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Akina @ 27.6.2011,  13:48)
Простейший - извлечь кв. корень, полученное возвесть в квадрат и сравнить с исходным.

нельзя извлекать корень - я оперирую исключительно с натуральными числами а результат извлечения корня - уже вещественное число.

Цитата(Akina @ 27.6.2011,  13:48)
Если исходное в достаточной степени случайно - можно сначала проверять последние 1-2 цифры на предмет того, может ли это быть точным квадратом.

вот это не понял? можно поподробнее?
--------------------
Тест на IQ показал отрицательный результат...
PM MAIL   Вверх
Akina
Дата 27.6.2011, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(corpsehunter @  27.6.2011,  15:01 Найти цитируемый пост)
нельзя извлекать корень - я оперирую исключительно с натуральными числами а результат извлечения корня - уже вещественное число.

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

Цитата(corpsehunter @  27.6.2011,  15:01 Найти цитируемый пост)
вот это не понял? можно поподробнее? 

Чего тут непонятного? Может ли быть квадратом число, последняя цифра которого - двойка? или последние две цифры которого - 55?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
baldina
Дата 27.6.2011, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 4
Всего: 101



Цитата(corpsehunter @  27.6.2011,  13:27 Найти цитируемый пост)
проверить, является ли заданное число Х решением уравнения

подставить
Цитата(corpsehunter @  27.6.2011,  13:27 Найти цитируемый пост)
найти ближайшее к нему Х

решаете задачу дискретного логарифмирования? ах, оставьте... smile

PM MAIL   Вверх
corpsehunter
Дата 27.6.2011, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Akina @ 27.6.2011,  14:06)
Не понял... извлекай на множестве натуральных, кто мешает... более того - ведь именно это тебе и нужно.

а как мне его извлечь на множестве натуральных чисел? о_О
почитал на википедии статью "Квадратный корень" - отличный способ "арифметическое извлечение" но он будет очень долгим, т.к. я буду оперировать с очень длинными целым и числами.

Цитата(Akina @ 27.6.2011,  14:06)
Чего тут непонятного? Может ли быть квадратом число, последняя цифра которого - двойка? или последние две цифры которого - 55?

ну это я еще из предыдущего поста понял, что нужно смотреть последние числа - нужно какое-нибудь общее правило? оно вообще есть?
--------------------
Тест на IQ показал отрицательный результат...
PM MAIL   Вверх
baldina
Дата 27.6.2011, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 4
Всего: 101



вы технически не можете использовать ничего кроме целых, или это религиозные убеждения?
если технически, используйте блочный алгоритм, похожий на деление в столбик типа http://comp-science.narod.ru/DL-AR/koren.html
потребуется хранить таблицу квадратов небольших чисел. можно приспособить к двоичному представлению
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

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


 




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


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

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