![]() |
|
|
![]()
|
|
| whoever |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 5.7.2007 Репутация: нет Всего: 1 |
http://algolist.manual.ru/maths/teornum/nod.php#3
Можно ли его модифицировать так, чтобы все операции проводились только с неотрицательными числами? Важно только получение коэффициента при меньшем из a и b. |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
имеется в виду ax+by=1 или ax+by=1 mod m?
(потому что ответы для этих случаев будут разные) -------------------- qqq |
|||
|
||||
| whoever |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 5.7.2007 Репутация: нет Всего: 1 |
ax + by = 1.
Изначально уравнение имеет вид by = 1 (mod a). |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
ну тогда без отрицательных чисел не получится
отбросим случай, когда одно из чисел =1 тогда какие бы ни были a и b>0, a*x+b*y будет >=x+y>1 т.е. отрицательные числа не просто возможны - один из коэффициентов всегда будет отрицательным -------------------- qqq |
|||
|
||||
| whoever |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 5.7.2007 Репутация: нет Всего: 1 |
Именно отрицательный коэффициент мне и не нужен. Поэтому, может быть, его положительной заменой можно добиться неизменности другого коэффициента?
|
|||
|
||||
| maxdiver |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 29.1.2008 Где: Саратов Репутация: 16 Всего: 18 |
whoever
Значит, требуется найти его решение при y>0. Значит, нужно решить уравнение ax + by = 1 при y>0, а x может быть любым. Тогда решение такое: находим любое решение этого уравнения алгоритмом Евклида, а затем приводим y к положительному, пользуясь такой операцией (корректность которой очевидна): к y прибавить a, а от x отнять b. |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
нет, не получится я ж написал, что при обоих положительных коэффициентах результат никак не может равняться 1 ну разве что числа, перед которыми коэффициенты ищутся, могут быть отрицательными? -------------------- qqq |
|||
|
||||
| whoever |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 5.7.2007 Репутация: нет Всего: 1 |
а > b >= 0, x < 0, y > 0.
Кажется, Вы меня неверно поняли. В процессе вычисления x и y не имеется возможности использовать отрицательные числа. Каким будет в итоге x - неважно. Так вот: можно ли чем-то положительным в процессе вычисления заменять x, чтобы y остался правильным (т.е., не вычитать q*E[0][0] и q*E[1][0] из правого столбца, а прибавлять что-то другое). Естественно, одно из x и y должно быть меньше нуля, но так как x < 0 неважен, с ним можно делать что угодно. Это сообщение отредактировал(а) whoever - 6.4.2008, 19:25 |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: нет Всего: 56 |
пройди этот алгоритм до конца - найди д. потом методом подбора, увеличивая на 1 y найди подходящих х .
|
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
хм... тогда не очень понятна природа ограничения... можно поподробнее описать его причины? а то, обычно, если нельзя использовать отрицательные числа, значит, нет возможности их и получить... ну разве что это ограничение для всех операций кроме последней? -------------------- qqq |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |