Widerstände haben üblicherweise farbcodierte Bänder , mit denen sie identifiziert werden Widerstand in Ohm angegeben wird . Bei dieser Herausforderung werden nur die normalen 4-Band-Widerstände mit gelbbrauner, axialer Leitung betrachtet. Wir werden sie ausdrücken als:
xyzt
Wo xist das erste Band für die erste bedeutende Figur,y das zweite Band für die zweite signifikante Zahl, zdas dritte Band für den Multiplikator und tdas vierte Band für die Toleranz ist .
Jedes von xyztstellt einen Buchstaben dar, der die Farbe des Bandes abkürzt:
K = Black
N = Brown
R = Red
O = Orange
Y = Yellow
G = Green
B = Blue
V = Violet
A = Gray
W = White
g = Gold
s = Silver
_ = None
So ist zum Beispiel NKOgein bestimmter Widerstand.
Der Widerstand kann mit Hilfe dieser Tabelle berechnet werden:
Wie aus der Tabelle hervorgeht:
xundykann beliebige Buchstaben außer seing,sund_.zkann alles sein außer_.- Wir beschränken
tnur seing,soder_.
Der Widerstand ist 10 * x + ymal der zMultiplikator bis zu einer Toleranz des tProzentsatzes.
Um beispielsweise den Widerstand von zu berechnen
NKOg, sehen wir Folgendes:
Nbedeutet braun für 1.Kbedeutet Schwarz für 0.Obedeutet Orange für 10 3 .gbedeutet Gold für ± 5%.Der Widerstand ist also
(10*1 + 0)*10^3→10000 Ω ±5%.
Herausforderung
Schreiben Sie ein Programm oder eine Funktion, die eine 4-stellige Zeichenfolge des Formulars verwendet xyztund den Widerstand im Formular ausgibt oder zurückgibt [resistance] Ω ±[tolerance]%.
- Der Widerstand kann "umgedreht" sein, dh in umgekehrter Reihenfolge
tzyx. Zum Beispiel beidesNKOgundgOKNsoll produzieren10000 Ω ±5%. - Der Widerstand ist immer in einfachen Ohm, niemals in Kiloohm, Megaohm usw.
Ωkann ersetzt werden durchohmsz10000 ohms ±5%.±kann ersetzt werden durch+/-z10000 Ω +/-5%.- Nachgestellte Nullen rechts vom Dezimalpunkt sind in Ordnung. (zB
10000.0 Ω +/-5%) - Sie können davon ausgehen, dass die Eingabe immer gültig ist (
xundyniemalsgs_,zniemals_,tnurgs_). - Alle 10 × 10 × 12 × 3 = 3600 möglichen Widerstände (2 × 3600 mögliche Eingänge) müssen unterstützt werden, auch wenn einige Farbbandkombinationen nicht im wirklichen Leben hergestellt werden.
Der kürzeste Code in Bytes gewinnt.
Beispiele
gOKN→10000 ohms +/-5%KKR_→0 Ω +/-20%ggKN→1 ohms ±5%ggGO→3.5 Ω ±5%ssGO→0.350 Ω ±10%GOOs→53000 ohms +/-10%YAK_→48.0 ohms +/-20%_WAV→78000000000 Ω ±20%gBBB→66000000.000 ohms ±5%_RYR→2400.00 ohms ±20%
Wenn Ihnen meine Herausforderungen gefallen, sollten Sie Block Building Bot Flocks ausprobieren!

:(2/'e*s~spart die[.