Défi
Étant donné une liste d'unités de base SI, une liste d'équations et une cible, vous devez dériver les unités de la cible en utilisant uniquement les unités de base.
Unités dérivées
De Wikipédia:
Le Système international d'unités (SI) spécifie un ensemble de sept unités de base dont dérivent toutes les autres unités de mesure SI. Chacune de ces autres unités (unités dérivées du SI) est soit sans dimension, soit peut être exprimée comme un produit des puissances d'une ou plusieurs des unités de base.
Par exemple, l'unité de surface dérivée du SI est le mètre carré (m 2 ), et l'unité de densité dérivée du SI est le kilogramme par mètre cube (kg / m 3 ou kg m -3 ).
Les sept unités de base SI sont:
- Ampère, A
- Candela, cd
- Kelvin, K
- Kilogramme, kg
- Mètre, m
- Mole, mol
- Deuxièmement, s
Exemple
Contribution
Unités de base:
d [m]
m [kg]
t [s]
Équations:
v = d/t
a = v/t
F = m*a
E = F*d
Cible:
E
Production
E [kg*m*m/s/s]
Contribution
Unités de base:
G [cd]
L [m]
y [A]
a [K]
Équations:
T = y*y/L
A = T*G
Cible:
A
Production
A [cd*A*A/m]
Règles
Les unités seront toujours données sous la forme
a [b]
Où a
sera une seule lettre alphabétique majuscule ou minuscule et b
sera une unité (un ou plusieurs caractères).
L'équation sera sous la forme
a = c
Où c
sera une expression qui n'utilisera que les unités précédemment définies et les opérateurs *
et /
.
Les pouvoirs doivent être étendus. Par exemple, l'unité de surface est officiellement m^2
, mais vous devez la représenter comme m*m
. De même pour les puissances négatives telles que la vitesse ( m*s^-1
) qui doit être représentée comme une division: m/s
. De même, les unités d'accélération, m/s^2
ou m*s^-2
, doivent être représentées comme m/s/s
.
Vous n'avez aucune annulation à effectuer. Par exemple, une sortie C*s/kg/s
est valide même si elle peut être annulée jusqu'à C/kg
.
Il n'y a pas d' ordre spécifique pour la multiplication: kg*s/m
, s/m*kg
, s*kg/m
sont tous valides (mais /m*s*kg
est invalide).
Remarque: vous n'aurez jamais à diviser par une unité dérivée.
Gagnant
Le code le plus court en octets gagne