Частичная сумма
- From
- Vadim Lopatin (2:5015/149.13)
- To
- All
- Date
- 2000-03-03T10:00:45Z
- Area
- RU.ALGORITHMS
Приветствую вас, уважаемый All!
Задача:
Даны n натуральных чисел K1, K2, ..., Kn,
n чисел M1, M2, ..., Mn, M и B (все по заданному модулю N),
M=M1*M2*M3*...*Mn
Требуется найти все возможные комбинации A1, A2, ... An
чтобы выполнялось равенство:
A1*K1 + A2*K2 + ... + AnKn == B (mod N)
На Ai наложено ограничение:
0 <= Ai <= Mi - 1
Существует ли эффективный алгоритм ее решения, можно для частных случаев:
a) M=N (или M порядка N)
b) M=sqrt(N) ( или M порядка sqrt(N) )
c) n=2
Как влияют на решения выбор Ki?
Что, если Ki простые или попарно взаимно простые (или наоборот, имеют много
общих делителей)?
Что лучше, уменьшить n, увеличив Mi или уменьшить Mi за счет увеличения n?
Может быть, известно эффективное решение (или доказано отсутствие такового)
для похожей задачи?
Конечно, данную задачу легко свести к проблеме частичной суммы, которая
является NP-полной (NP-трудной?). Но данный частный случай имхо должен сильно
упростить решение.
З.Ы.: Можно легко выбирать M, N, n, Mi. Ki и B зависят от других параметров.
С уважением, Vadim
--- Graphoman Toolkit 3.00
* Origin: LazyBeing station (2:5015/149.13)