ある人のアレルギースコアが与えられたとき、その人が特定の項目にアレルギーがあるかどうかと、アレルギーの一覧全体を判定します。
アレルギー検査では、1つの数値のスコアが得られます。このスコアには、その人が持つ(検査の対象となった)すべてのアレルギーの情報が含まれています。
検査の対象となった項目(とその値)は次のとおりです。
たとえば、Tomがpeanutsとchocolateにアレルギーがある場合、スコアは34になります。
では、この34というスコアだけが与えられたとき、プログラムは次のことを判定できる必要があります。
注意:スコアには、上に挙げていないアレルゲン(つまり256、512、1024などの値を持つアレルゲン)が含まれていることがあります。プログラムは、スコアのそうした部分を無視してください。たとえば、アレルギースコアが257の場合、プログラムは eggs(1)のアレルギーだけを報告します。
Exercismに登録すれば、68個の演習、そして本物の人間によるメンタリングとともに、Lisp Flavoured Erlangを学んでマスターできます。すべて無料です。
ビットシフト、ビット単位の比較、その他の2進数の概念を探求します! パターンマッチングを使った解答と、Erlangでの再帰を使った興味深いアプローチも見ていきます。