Compte tenu du nom d'un cation et d'un anion, sortie "S" (soluble) ou "I" (insoluble). Le tableau que nous utiliserons provient de wikipedia: https://en.wikipedia.org/wiki/Solubility_chart . Il est copié à la fin de la question pour référence future.
Entrée : Le cation, suivi de l'anion, séparé par un espace. Le cation sera l'un des suivants:
Lithium Sodium Potassium Ammonium Beryllium Magnesium Calcium
Strontium Barium Zinc Iron(II) Copper(II) Aluminium Iron(III) Lead(II) Silver
et l'anion sera l'un des suivants:
Fluoride Chloride Bromide Iodide Carbonate Chlorate Hydroxide Cyanide Cyanate
Thiocyanate Nitrate Oxide Phosphate Sulfate Dichromate
Chacun aura sa première lettre en majuscule.
Exemple d'entrée: Sodium Chloride
Sortie : une valeur véridique, ou S
, si elle est soluble, falsey ou I
autre. Si la page wikipedia répertorie autre chose (par exemple, légèrement soluble, ou réagit avec l'eau) ou si l'entrée n'est pas sous la forme "cation anion", votre programme peut faire n'importe quoi (comportement indéfini), donc il peut afficher "S", " Je ', ou autre chose.
Table:
?,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
Les lignes sont des cations dans l'ordre indiqué ci-dessus et les colonnes sont des anions. Par exemple, puisque l'iodure de magnésium est soluble et que le magnésium était le 6e cation et l'iodure était le 4e anion, la 6e ligne et la 4e colonne ont le caractère «S». Le ?
indique un comportement indéfini.
kolmogorov-complexity
balise, le défi ne demande pas de sortir la table, mais la valeur correcte pour une paire donnée (cation, anion).
truthy
/ 'S'
ou falsy
/ 'I'
?
?
s donne beaucoup de liberté dans les algorithmes que l'on peut utiliser.