У меня есть сколь угодно большое целое число k и массив произвольного числа положительных простых чисел [p_1, p_2, ..., p_n]. С помощью JavaScript я хочу проверить, можно ли выразить k как линейную комбинацию значений массива с целочисленными неотрицательными коэффициентами.Однако мне не удалось найти метод определения того, является ли какой-либо заданный k линейной комбинацией значений в любом заданном массиве.
Единственный ответ на подобный вопрос на этом сайте не работает, потому что все значения в мои массивы представляют собой простые числа: их НОД всегда равен 1, остаток всегда равен 0, а возвращаемое значение выражения этого ответа всегда равно True, даже если оно должно быть False. code>.
Например, если массив имеет значения [5, 7, 13], то k = 12 является допустимой линейной комбинацией ( 1×5 + 1×7 + 0×13), а k = 16 — нет.
Кроме того, код в связанных вопросе и ответе проверяет только кратные значения, меньшие или равные значениям массива, и Я хочу иметь возможность проверять гораздо большие числа.
Возможно ли достичь того, чего я хочу?
Подробнее здесь: https://stackoverflow.com/questions/793 ... -linear-co