Во время практики проблемы кодирования, я столкнулся с этой сложной проблемой:Challenging Алгоритмические Модульный Множественные
что у меня есть 7-переменное уравнение (А + В + С + С + D + B), (E + F + B + C) (G + F + F) и огромный список, содержащий до 3500 номеров:
A 1, 2, 3; B 1, 2; C 9, 1; D 1; E 2; F 1; G 1
Этот список в основном дает все возможные значения, которые могут иметь каждая переменная. Вопрос в том, сколько способов я могу выбрать значения переменных, чтобы получившееся число было кратным семи?
Например, я мог бы выбрать из приведенного выше списка A = 1, B = 1, C = 1, D = 1, E = 2, F = 1, G = 1. Это сделало бы число (1 + 2 + 1 + 1 + 1 + 1) (2 + 1 + 1 + 1) (1 + 1 + 1) = 35, что действительно кратно семи.
Моим решением было проверить каждую возможную комбинацию из семи переменных и проверить, была ли эта сумма кратной семи. Однако это решение, очевидно, очень медленное. У кого-нибудь есть более эффективное решение этой проблемы?
Кто-нибудь? до сих пор единственный ответ дается слишком медленно. –