电阻器通常具有色码带,用于标识其电阻(以欧姆为单位)。在此挑战中,我们将仅考虑常规的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~保存[。