Напишите программу, которая вычисляет, может ли введенное денежное значение в виде целого числа быть представлено уникальной комбинацией монет и / или банкнот, что означает, что одна и та же монета / банкнота не может использоваться более одного раза.
Ваша программа должна принимать значение в качестве входных данных и может принимать список значений монет / банкнот либо посредством ввода, либо с помощью массива, эквивалентного вашему языку. Список монет / заметок должен быть в состоянии изменить, поэтому убедитесь, что ясно, где это определено, если вы используете константу.
Ваша программа должна выводить любое значение «истина / ложь» соответственно.
Обратите внимание, что вывод списка монет / купюр, составляющих значение, не требуется.
ПРИМЕР
Использование британского фунта (£ 1,00 = 100 и £ 420,69 = 42069)
coins = [1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000]
Следующее выведет true:
6 (1, 5)
15 (10, 5)
88 (1, 2, 5, 10, 20, 50)
512 (500, 10, 2)
7003 (5000, 2000, 2, 1)
Следующий выводит false:
4
209
8889
4242424242
[ANYTHING ABOVE 8888]
АЛЬТЕРНАТИВНЫЕ ТЕСТОВЫЕ ДАННЫЕ (Доллар США)
coins = [1, 5, 10, 25, 50, 100, 200, 500, 1000, 2000, 5000, 10000]
Удачи!