Guest
Новичок
|
Дано F(x)=ax^2+bx+c Выяснить, найдется ли такой х, при котором корень квадратный из F(x) = целое число. Сам х находить не обязательно.
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 14 фев. 2005 23:17 | IP
|
|
Guest
Новичок
|
Зависит от того, известно ли разложение дискриминанта b^2-4*a*c на простые сомножители и насколько велики эти сомножители по отношению к sqrt(|a|).
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 15 фев. 2005 12:57 | IP
|
|
kutia
Удален
|
x такой конечно найдется это и ежику понятно главное чтоб a b c были подходящие
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 15 фев. 2005 20:37 | IP
|
|
Guest
Новичок
|
Цитата: Guest написал 15 фев. 2005 12:57 Зависит от того, известно ли разложение дискриминанта b^2-4*a*c на простые сомножители и насколько велики эти сомножители по отношению к sqrt(|a|).
А можно поподробнее. Я не совсем понял. Хотя бы на конкретных примерах. 1. F(x)= 2x^2+13x+12 2. F(x)= 2x^2+13x+13 Вот в первом случае такое x найдется, во втором не знаю.
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 15 фев. 2005 21:42 | IP
|
|
Guest
Новичок
|
Цитата: dm написал 15 фев. 2005 22:32
во втором не знаю
Дискриминант не будет полным квадратом.
Почему?
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 15 фев. 2005 22:56 | IP
|
|
Guest
Новичок
|
Цитата: Guest написал 15 фев. 2005 21:42
Цитата: Guest написал 15 фев. 2005 12:57 Зависит от того, известно ли разложение дискриминанта b^2-4*a*c на простые сомножители и насколько велики эти сомножители по отношению к sqrt(|a|).
А можно поподробнее. Я не совсем понял. Хотя бы на конкретных примерах. 1. F(x)= 2x^2+13x+12 2. F(x)= 2x^2+13x+13 Вот в первом случае такое x найдется, во втором не знаю.
Пусть для некоторых целых x,u выполняется F(x)=u^2. Тогда a*x^2+b*x+c-u^2=0, откуда x = (-b +- sqrt(b^2-4ac+4au^2)/(2a). При этом необходимо, чтобы подкоренное выражение было полным квадратом, т.е. b^2-4ac+4au^2 = v^2 для некоторого v. Запишем это в виде v^2 - 4au^2 = b^2 - 4ac, где в правой части как раз стоит дискриминант исходного трехчлена. Это обобщенное уравнение Пелля. См. внешняя ссылка удалена формула (38) и ссылки. В первом примере получаем v^2 - 8u^2 = 73 Чтобы решить его можно воспользоваться солвером на внешняя ссылка удалена Одно из решений v=9, u=1 дает x=(-13+9)/4 = -1, при котором F(-1)=1^2. Во втором примере получаем v^2 - 8u^2 = 40 Откуда немедленно следует, что v - кратно 4-м, скажем, v=4v', и 2v'^2 - u^2 = 5 Это уравнение не имеет решений, так как 2 не является кв.вычетом по модулю 5.
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 15 фев. 2005 23:10 | IP
|
|
Guest
Новичок
|
Кстати, для небольших значений коэффициентов уравнение в форме u^2 - a*x^2 - b*x - c = 0 можно засунуть прямо в солвер.
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 16 фев. 2005 0:12 | IP
|
|
kutia
Удален
|
и енто правильно Флейм! (Сообщение отредактировал dm 16 фев. 2005 8:04)
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 16 фев. 2005 0:18 | IP
|
|
Guest
Новичок
|
Ребят, спасибо. Подчерпнул для себя много нового. Но ... Солвер это конечно хорошо, но не очень. У меня все параметры имеют длину свыше 20 знаков. Солвер отказывается считать такие длинные числа. Алгоритм этого солвера известен? Я надеюсь это не обычный перебор?
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 17 фев. 2005 22:03 | IP
|
|
Guest
Новичок
|
Там же на страничке солвера есть ссылка Methods: внешняя ссылка удалена
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 17 фев. 2005 23:15 | IP
|
|