Dado el nombre de un catión y anión, salida "S" (soluble) o "I" (insoluble). La tabla que utilizaremos es de wikipedia: https://en.wikipedia.org/wiki/Solubility_chart . Se copia al final de la pregunta para referencia futura.
Entrada : El catión, seguido del anión, separado por un espacio. El catión será uno de los siguientes:
Lithium Sodium Potassium Ammonium Beryllium Magnesium Calcium
Strontium Barium Zinc Iron(II) Copper(II) Aluminium Iron(III) Lead(II) Silver
y el anión será uno de los siguientes:
Fluoride Chloride Bromide Iodide Carbonate Chlorate Hydroxide Cyanide Cyanate
Thiocyanate Nitrate Oxide Phosphate Sulfate Dichromate
Cada uno tendrá su primera letra en mayúscula.
Entrada de ejemplo: Sodium Chloride
Salida : un valor verdadero o S
, si es soluble, falsey o de I
otra manera. Si la página de wikipedia enumera cualquier otra cosa (por ejemplo, ligeramente soluble o reacciona con agua) o si la entrada no tiene la forma de "anión catiónico", su programa puede hacer cualquier cosa (comportamiento indefinido), por lo que puede generar 'S', ' Yo 'o cualquier otra cosa.
Mesa:
?,S,S,S,?,S,S,S,?,S,S,?,I,S,S
S,S,S,S,S,S,S,S,S,S,S,?,S,S,S
S,S,S,S,S,S,S,S,S,S,S,?,S,S,S
S,S,S,S,S,S,S,S,?,S,S,?,S,S,S
S,S,S,?,?,?,?,?,?,?,S,?,?,S,?
?,S,S,S,I,S,I,?,?,?,S,I,I,S,I
I,S,S,S,I,S,?,S,?,?,S,?,I,?,I
?,S,S,S,I,S,S,?,?,?,S,?,?,I,?
?,S,S,S,I,S,S,S,?,?,S,?,?,I,?
?,S,S,S,I,S,I,I,?,?,S,I,I,S,I
S,S,S,S,I,S,I,?,?,?,S,I,I,S,I
?,S,S,?,I,S,I,?,?,I,S,I,I,S,I
S,S,S,?,?,S,I,?,?,?,S,I,I,S,I
?,S,S,?,?,S,I,?,?,?,S,I,I,?,I
?,?,?,I,I,S,I,?,?,?,S,I,I,I,?
S,I,I,I,I,S,?,I,I,?,S,?,I,?,I
Las filas son cationes en el orden mencionado anteriormente y las columnas son aniones. Por ejemplo, dado que el yoduro de magnesio es soluble, y el magnesio era el sexto catión y el yoduro era el 4to anión, la 6ta fila y la 4ta columna tienen el carácter 'S'. El ?
indica comportamiento indefinido.
kolmogorov-complexity
etiqueta, el desafío no pide generar la tabla, sino el valor correcto para un par dado (catión, anión).
truthy
/ 'S'
o falsy
/ 'I'
?
?
s da mucha libertad en los algoritmos que uno puede usar.