Schreiben Sie ein Programm oder eine Funktion, die Eingaben übernimmt: alle verfügbaren Widerstände und einen Widerstandswert und gibt einen Wahrheitswert darüber aus, ob es möglich ist, den Widerstand mithilfe dieser Widerstände zu ermitteln oder nicht.
Regeln:
Jedes Format für die Eingabe reicht aus.
Es ist mindestens 1 Widerstand verfügbar, und Ihr Programm sollte mindestens 10 Widerstände ausgeben.
Der Widerstand aller verfügbaren Widerstände und der erforderliche Widerstand sind positive ganze Zahlen.
Wenn für verfügbare Widerstände auch ein Bruchwert möglich ist, kann der erforderliche Widerstand der angenäherte Wert sein (siehe Beispiel).
Die Ausgabe sollte aus 2 eindeutigen Werten für Möglich und Nicht möglich bestehen.
Die Widerstände können auf irgendeine Weise angeschlossen werden.
Series Resistance: Für n Widerstände in der Reihe: Ergebnis = R1 + R2 + R3 + .... Rn
Parallelwiderstand : Für n parallele Widerstände: Ergebnis = 1 / (1 / R1 + 1 / R2 + 1 / R3 + .... + 1 / Rn)
Die Schaltung benötigt möglicherweise nicht alle Widerstände, um den erforderlichen Widerstand zu erhalten (Ausgang True, wenn dies der Fall ist).
Gewinner:
Dies ist Code-Golf, also gewinnt der kürzeste Code.
Beispiele:
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
Erläuterung der letzten beiden Beispiele: /physics/22252/resistor-circuit-that-isnt-parallel-or-series
3 3 1
ist mit3 3 2
?