モジュール詳細:関数

一体、1と3からどうやって8を入手するんだ!

  • リスト1の42個の中からランダムに問い合わせ関数が選択され、下部のディスプレーには1から999までの2つの数字とその間に英字が表示される。
  • 数字のキーパッドを押して数字を入力できる。これらは入力値として中央のディスプレーに表示される。12桁入力すると、新たな桁を配置するために左端の桁が削除される。
  • 「a」として入力された数値は、カンマボタン「,」を押すことでメモすることができる。「a」は2変数関数の一つ目の数値である、すると、左上のディスプレーに入力された数値(4桁以上表示されている場合は下4桁のみが入力される)が表示され、中央上のディスプレーにカンマが表示される。その後、二つ目の別の数値を、最初に入力したのと同じ方法で入力することができる。問い合わせの際、表示された両方の数値が同じか、どちらかの数値が0であれば、ミスが記録される。
  • 両方の数字が入力されたら、「Q」ボタンを押す。これにより二つ目の数字(4桁以上表示されている場合は下4桁のみが入力される)が右上のディスプレーに配置される。この値は「b」とする。さらに、入力結果が問い合わせ関数の出力結果に置き換えられる。モジュールを解除するのに必要な回答を含め、計算結果は最大12桁のみが使用され、関数が言及していない限り、表示直前にすべての小数が削除される。それが表示されている限りは、カンマボタンを押しても何も影響を与えず、カンマが入力されていない限り「Q」ボタンを押しても何も影響を与えない。
  • クリアボタン「C」を押すと、上と真ん中の入力内容が全て削除され新たな変数の入力が可能になる。
  • 1回以上問い合わせを使用したり、リスト1を使用して、使用されている問い合わせ関数を求め、下段の英字を表2に使用して問い合わせ関数の番号に適用すべき補正値を求めることで、最終的な関数を求める。必要であればループする。
  • 下のディスプレーに入力値とした最終的な関数の結果をキーパッドを使って回答し、送信ボタン「S」を押して送信する。
  • 最上位桁は左端にあり、最も重みがある桁であるため、1桁よりも10桁の方が上位である。

リスト1:関数一覧

  • #0:(a + b)の平方の数字根
  • #1:aをb倍し、偶数番目の桁を削除した数
  • #2:8、奇数の桁の数、偶数の桁の数を順に連結した数
  • #3:(a + b)の数字根
  • #4:(a + b)を1000でモジュロした数
  • #5:(a + b)の平方
  • #6:最も数字が大きい桁
  • #7:桁中に存在しない一桁の数字の個数
  • #8:(大きい方の二倍)から小さい方を減算
  • #9:各桁がシリアルナンバー内に出現した回数の合計
  • #10:偶数である数字の個数
  • #11:各桁をモールス信号に変換した場合のドット数
  • #12:(a + b)と|aからbを引いた数|を連結した数
  • #13:(大きい方を小さい方で除算した数))の整数値を1000でモジュロした数
  • #14:|aからbを引いた数|の数字根
  • #15:点灯したインジケーターの個数の63倍
  • #16:aのb倍
  • #17:(aのb倍)を1000でモジュロした数
  • #18:(aの各桁の和)の(bの各桁の和)倍
  • #19:小さい方から(大きい方を小さい方でモジュロ)を引いた数
  • #20:aをb倍し、奇数番目の桁を削除した数
  • #21:すべての存在しない桁を1から0まで連結した数
  • #22:月の加算
  • #23:aをb倍し、奇数の桁を削除した数
  • #24:(偶数であれば2、奇数であれば1を連結した)各桁を整列した数
  • #25:sqrt(a) + sqrt(b)
  • #26:(aのb倍)の数字根
  • #27:aとbに含まれる桁の202倍
  • #28:808
  • #29:810から(100未満の数字の個数)を引いた数
  • #30:大きい方を小さい方でモジュロした数
  • #31:各桁の英字数の合計
  • #32:aの最初と最後の桁とbの最初と最後の桁の積
  • #33:sqrt(a + b)
  • #34:2つの数字全体の最初と最後の桁の積
  • #35:(aの平方) + (bの平方)
  • #36:(a plus b) modulo 12
  • #37:|aからbを引いた数|
  • #38:(その桁の出現回数を連結した)各桁を整列した数
  • #39:a + b
  • #40:大きい方を小さい方で除算した数
  • #41:(a + b)を(大きい方を小さい方で除算した数)倍

表2:英字による補正

条件
A:シリアルナンバーにKBUMのいずれかが含まれている? +6 -4
B:バッテリー、インジケーター、ポートのうちいずれかの個数 = 2? +2 -3
C:シリアルナンバーの最初の文字は数字? +5 -4
D:点灯したBOBインジケーターがある? +8 -8
E:点灯していないBOBインジケーターがある? +6 -2
F:シリアルナンバーの最初の文字は英字? +6 -5
G:パラレルポートがあるが、シリアルポートがない? +1 -5
H:空のポートプレートが少なくとも1つある? +1 -3
I:バッテリーがない? +1 +5
J:シリアルナンバーに母音がある? +5 -3
K:インジケーターの個数 > 3? +4 -1
L:バッテリーの個数は偶数? +6 +7
M:ポート > インジケーター? +3 -7
N:点灯していないインジケーターより点灯したインジケーターの方が多い? +3 -5
O:インジケーター > バッテリー? +6 -1
P:インジケーターの個数は偶数? +2 -3
Q:シリアルナンバーにERISのいずれかが含まれている? +1 -3
R:シリアルナンバーにちょうど3つの英字が含まれている? +3 -2
S:バッテリー > ポート? +2 +4
T:バッテリーの個数 > 4? +4 +1
U:点灯したインジケーターと点灯していないインジケーターの数が同じ? +2 -2
V:シリアルナンバーにJQXZのいずれかが含まれている? +7 +1
W:少なくとも3つのポートがある? +3 -5
X:インジケーターがない? +3 -3
Y:シリアルナンバー内の数字の個数が4以上? +4 -1
Z:ポートがない? +5 -1

付録F:数学(とその他)の用語

絶対値もしくは|x|:Xと0との距離。|2 - 6| = 4
すべての桁の整列:重複した桁を無視してから、左から右に読んだ各桁。12814のすべての桁を整列すると1284となる。
連結:つなぎ合わせること。「Cheese」と「burger」を連結させると「Cheeseburger」になる。7と3を連結させると73になる。
立方:自身を乗算し、更に乗算する。2の立方は8。
数字根:各桁同士を、一桁になるまで足し続ける。129の数字根は3である。
月の加算:各桁を合計する代わりに、各位(一の位、十の位など)で大きい方の桁を取得する加算方法、月の算術では、184+229 = 289になる。
モジュロ:除算の剰余を示す。10を3でモジュロすると1になる。
べき乗数:自身を乗算する回数。立方数はべき乗数が3のときの結果と等しい。
sqrt(x):平方根を示す。sqrt(9) = 3である。技術的には-3も取れるが爆弾解除では正の値にするため、このモジュールでは平方根の負の値は考えなくてよい。
立方:自身を乗算する。5の立方は25である。
ゼロ:0は偶数である。出力が存在しない場合、出力は0になる。