电阻器通常具有色码带,用于标识其电阻(以欧姆为单位)。在此挑战中,我们将仅考虑常规的4频段,棕褐色,轴向引线电阻器。我们将它们表示为:
xyzt
其中x
,第一个有效数字的第一条带y
是,第二个有效数字z
的第二条带,乘数t
的第三条带,公差的第四条带。
每个xyzt
代表一个字母,代表乐队的颜色:
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
因此,例如NKOg
一些特定的电阻器。
可以借助此表来计算电阻:
如表所示:
x
并且y
可以是任何字母除外g
,s
和_
。z
除了可以是任何东西_
。- 我们会限制
t
仅是g
,s
或_
。
(这是一个方便的电阻计算器,处理与我们完全相同的一组电阻器。)
电阻10 * x + y
倍z
倍频,给的公差t
百分比。
例如,计算的电阻
NKOg
,我们看到:
N
表示布朗代表1。K
表示黑色为0。O
表示橙色10 3。g
表示±5%的金。因此电阻为
(10*1 + 0)*10^3
→10000 Ω ±5%
。
挑战
编写一个程序或函数,该程序或函数接受格式为4的字符串并以格式xyzt
打印或返回电阻[resistance] Ω ±[tolerance]%
。
- 电阻器可以是“倒置的”,即以相反的顺序
tzyx
。例如,NKOg
和gOKN
都应产生10000 Ω ±5%
。 - 电阻始终以普通欧姆为单位,从不以千欧,兆欧等为单位。
Ω
可以被替换ohms
,例如10000 ohms ±5%
。±
可以被替换+/-
,例如10000 Ω +/-5%
。- 在小数点右边加上尾随零是可以的。(例如
10000.0 Ω +/-5%
) - 您可以假定输入始终是有效的(
x
并且y
永不gs_
;z
从不_
;t
仅gs_
)。 - 即使在现实生活中没有产生某些色带组合,也需要支持所有10×10×12×3 = 3600个可能的电阻(2×3600个可能的输入)。
以字节为单位的最短代码获胜。
例子
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%
当且仅当你喜欢我的挑战,考虑检查出砌块建筑成群的僵尸!
:(2/'e*s~
保存[
。