Резисторы обычно имеют цветные полосы , которые используются для определения их сопротивления в Омах . В этой задаче мы рассмотрим только обычные четырехполосные, загар, резисторы с осевым выводом. Мы выразим их как:
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~
сохраняет[
.