Napisz program lub funkcję, która pobiera dane wejściowe: wszystkie dostępne rezystory oraz wartość rezystancji i generuje prawdziwą wartość określającą, czy można uzyskać rezystancję za pomocą tych rezystorów.
Zasady:
Wystarczy dowolny format wejściowy.
Będzie co najmniej 1 dostępny rezystor, a twój program powinien generować co najmniej 10 dostępnych rezystorów.
Rezystancja wszystkich dostępnych rezystorów i wymagana rezystancja będą dodatnimi liczbami całkowitymi.
W przypadku dostępnych rezystorów, jeśli możliwa jest również wartość ułamkowa, wymagana rezystancja może być wartością przybliżoną (patrz przykład)
Dane wyjściowe powinny być dowolnymi 2 unikatowymi wartościami Możliwe i Niemożliwe.
Rezystory można podłączyć w dowolny sposób.
Rezystancja szeregowa : Dla n rezystancji szeregowych: Wynik = R1 + R2 + R3 + .... Rn
Rezystancja równoległa : Dla n równoległych rezystancji: Wynik = 1 / (1 / R1 + 1 / R2 + 1 / R3 + .... + 1 / Rn)
Obwód może nie wymagać od wszystkich rezystorów uzyskania wymaganej rezystancji (w takim przypadku należy wybrać wartość True).
Zwycięzca:
To jest golf golfowy, więc wygrywa najkrótszy kod.
Przykłady:
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
Objaśnienie dwóch ostatnich przykładów: /physics/22252/resistor-circuit-that-isnt-parallel-or-series
3 3 1
,3 3 2
?