Tantangan
Diberikan daftar unit dasar SI, daftar persamaan dan target, Anda harus menurunkan unit target hanya menggunakan unit dasar.
Unit yang diturunkan
Dari Wikipedia:
Sistem Satuan Internasional (SI) menetapkan satu set tujuh unit dasar dari mana semua unit pengukuran SI lainnya diturunkan. Masing-masing unit lainnya (unit turunan SI) tidak berdimensi atau dapat dinyatakan sebagai produk kekuatan satu atau lebih dari unit dasar.
Sebagai contoh, satuan luas turunan SI adalah meter persegi (m 2 ), dan satuan kepadatan turunan SI adalah kilogram per meter kubik (kg / m 3 atau kg m −3 ).
Tujuh unit dasar SI adalah:
- Ampere, A
- Candela, cd
- Kelvin, K
- Kilogram, kg
- Meter, m
- Mol, mol
- Kedua, s
Contoh
Memasukkan
Unit dasar:
d [m]
m [kg]
t [s]
Persamaan:
v = d/t
a = v/t
F = m*a
E = F*d
Target:
E
Keluaran
E [kg*m*m/s/s]
Memasukkan
Unit dasar:
G [cd]
L [m]
y [A]
a [K]
Persamaan:
T = y*y/L
A = T*G
Target:
A
Keluaran
A [cd*A*A/m]
Aturan
Unit akan selalu diberikan dalam bentuk
a [b]
Di mana a
akan menjadi huruf abjad huruf besar atau kecil dan b
akan menjadi unit (satu atau lebih karakter).
Persamaannya akan dalam bentuk
a = c
Di mana c
akan ada ekspresi yang hanya akan menggunakan unit yang telah ditentukan sebelumnya dan operator *
dan /
.
Kekuatan harus diperluas. Misalnya, unit area secara resmi m^2
, tetapi Anda harus mewakili ini sebagai m*m
. Hal yang sama berlaku untuk kekuatan negatif seperti kecepatan ( m*s^-1
) yang harus direpresentasikan sebagai divisi: m/s
. Demikian pula, unit untuk akselerasi, m/s^2
atau m*s^-2
, harus direpresentasikan sebagai m/s/s
.
Anda tidak harus melakukan pembatalan. Misalnya, output C*s/kg/s
valid meskipun dapat dibatalkan hingga C/kg
.
Tidak ada urutan tertentu untuk perkalian: kg*s/m
, s/m*kg
, s*kg/m
semuanya valid (tapi /m*s*kg
tidak valid).
Catatan: Anda tidak akan pernah harus membagi dengan unit yang diturunkan.
Kemenangan
Kode terpendek dalam byte menang