Напишіть програму або функцію, яка приймає вхід: всі наявні резистори та значення опору та виводять триєдне значення того, чи можна отримати опір, використовуючи ці резистори.
Правила:
Будь-який формат для введення буде робити.
Буде як мінімум 1 доступний резистор, і ваша програма повинна вивести щонайменше 10 наявних резисторів.
Опір усіх наявних резисторів та необхідний опір становитимуть цілими додатними.
Для наявних резисторів, якщо також можливе значення дробу, необхідний опір може бути приблизним значенням (див. Приклад)
Вихідні дані повинні бути будь-якими 2 унікальними значеннями для Можливе та Неможливо.
Резистори можуть бути підключені будь-яким способом.
Серійний опір: Для n опорів у серії: Результат = R1 + R2 + R3 + .... Rn
Паралельний опір: Для n опорів паралельно: Результат = 1 / (1 / R1 + 1 / R2 + 1 / R3 + .... + 1 / Rn)
Схема може не зажадати всіх резисторів для отримання необхідного опору (вихід справжній, якщо це так).
Переможець:
Це код-гольф, тому виграє найкоротший код.
Приклади:
R List
110 220,220 -> True
440 220,220 -> True
550 400,300 -> False
3000 1000,3000 -> True
750 1000,3000 -> True
333 1000,1000,1000 -> True (1000||1000||1000=333.333)
667 1000,1000,1000 -> True ((1000+1000)||1000=666.6666)
8000 1000,1000,7000 -> True
190 100,200,333,344,221 -> True
193 105,200,333,344,221 -> True
400 200,100 -> False
Пояснення останніх двох прикладів: /physics/22252/resistor-circuit-that-isnt-parallel-or-series
3 3 1
,3 3 2
?