Firmianaの落書き

プログラミング関係のことを中心に書きます(多分)

FiOL バドラス語-1 解答・解説・解法例

 問題はこちらから↓

firmiana.hatenablog.com

************************************************************************************************************************************************************************************

解答(例)

設問A

バドラス語アラビア数字
1. mano sinoi. 500
2. qana. 4
3. qitobazanc. 28
4. sanbasino sanlazenobamanok. 1085
5. sanlasinod. 50
6. sanlazenobaqane. 84
7. san sanlasanbazang. 168
8. san sanlasanbazeno sanlazenobaqanl. 16384
9. san xitof. 107
10. xitob. 7
11. xito qitobapetoj. 729
12. zeno qitobamanoh. 325

設問B

バドラス語アラビア数字
13. peto sino sanlamano90055
14. soto6
15. zenobaxito37

設問C

アラビア数字バドラス語
m. 2024qitobasino qitobaqan
n. 8192sanlazenobasan sanlaqanbaqito
o. 59049mano sanlaqanbasino qanbapeto

採点基準

設問問題数1問の配点ボーナス点総点
A120.900点なし10.800点
B31.200点1.000点4.600点
C31.200点1.000点4.600点
合計20.000点

  • 正答である場合は上記の得点の 100% を与える。
  • 正答でない場合は上記の得点から1箇所の誤りにつき満点の 40% を差し引いた得点を与える。ただし、負になることはない。
    なお、要点が 1 箇所または 2 箇所のみの場合は、全て間違えた場合 0.000点 となる。
  • B,C については、全ての問題を正解した場合にのみボーナス点を与える。

規則

  1. 上位から下位に、左から右に位取り記数法かつ十進法で表記する。
  2. 下位から 2 桁毎に区切って表記する。
  3. 1 桁の数は次のように表記する。注 1
    アラビア数字バドラス語
    0sino
    1san
    2qito
    3zeno
    4qan
    5mano
    6soto
    7xito
    8zan
    9peto
  4. 2 桁の数は次のような規則により表記する。
    1. 数を  50a+10b+c の形に分解する。なお、ここで  a,b,c は全て整数で、 0\leq a\leq 1, 0\leq b\leq 4, 0\leq c\leq 9 をみたす。
      (例: 27=50\times 0+10\times 2+7 74=50\times 1+10\times 2+4
    2.  a,b,c をそれぞれ規則 3. の通りバドラス語で表記すれば(それぞれS,T,Uとする)、S-la-T-ba-U として2桁の数が表現される。
      (例:27=(sinola)qitobaxito、74=sanlaqitobaqan)
    3. 規則 4-b. について、 a,b がそれぞれ0のとき、それぞれ sinola と sinoba は省略される。
  5. 3 桁以上の数は、規則 2. の通り 1 桁または 2 桁に区切り、それぞれを規則 3. 規則 4. に則って表記したものを並べて表記する。

注 1:規則3. は規則4. に含めることもできるが、1 桁の数の対応を書く場所が無くなるためこのように記載している。

ポイント

  • 位取り記数法であることが分かったか
  • 1 桁の数を表す単語を特定できたか
  • 2 桁ごとに表記されていることが分かったか
  • 2 桁の数の表現の仕方を理解できたか
  • 「soto」の考察ができたか

解法例

step 1.

バドラス語の単語数に着目する。
1 単語のみが 5 つ、2 単語が 6 つ、3 単語が 1 つある。

アラビア数字の 1,2 桁の数の個数は 5 つ、3,4 桁は 6 つ、5 桁は 1 つであるので、バドラス語の 1 単語がアラビア数字の 2 桁 (または 1 桁) を表すことが考えられる。

これよりバドラス語が十進法である可能性が高くなる。

step 2.

バドラス語の各単語に着目する。単語内に「-ba-,-la-」が共通して入っており、この部分で各単語を区切ると以下の 9 単語が得られる。

mano,peto,qan,qito,san,sino,xito,zan,zeno

および設問 B14. より「soto」もある。

これら単独で数字を表すこともある (2.10.) ので、これら一つ一つに数字を対応させてみる。

step 3.

バドラス語の各語の先頭に着目すると、やたらと「san」が多いがうまく対応しそうにない。

各語の末尾に着目すると下表のようになる。(アラビア数字も同時にやっておく。)

バドラス語アラビア数字
qan3 回43 回
sino2 回02 回
zan5
mano7
xito8
peto1 回91 回

これより、バドラス語は高位から低位に向かって左から右に記述する可能性が考えられる。

また、「qan」は 4、「peto」は 9 を表すと考えられる。

現状
バドラス語アラビア数字バドラス語アラビア数字
manosino
peto9soto
qan4xito
qitozan
sanzeno

step 4.

step3. に続いて、アラビア数字のうち 1 桁である 4 と 7 が「2. qan」と「10. xito」に対応すると考えられる。これは「qan」を 4 としたstep3. の考察に矛盾しないので、「xito」が 7 になる。

現状
バドラス語アラビア数字バドラス語アラビア数字
manosino
peto9soto
qan4xito7
qitozan
sanzeno

step 5.

step4. で決めた 2 数より、「9. san xito」が 107 になる。これはstep1. に矛盾しないから、「san」が 1 または「100 倍」だと考えられるが、1 語に複数回登場することもあるので 1 だと考えられる。

また「6. sanlazenobaqan」が 84 になると考えられる。

現状
バドラス語アラビア数字バドラス語アラビア数字
manosino
peto9soto
qan4xito7
qitozan
san1zeno
バドラス語アラビア数字
1. mano sino
2. qana. 4
3. qitobazan
4. sanbasino sanlazenobamano
5. sanlasino
6. sanlazenobaqane. 84
7. san sanlasanbazan
8. san sanlasanbazeno sanlazenobaqan
9. san xitof. 107
10. xitob. 7
11. xito qitobapeto
12. zeno qitobamano

step 6.

step5. より「7. san sanlasanbazan」が 168 だと考えられる。これより「zan」が 8。

また唯一 3 単語ある「8. san sanlasanbazeno sanlazenobaqan」が 16384 だと考えられる。これはstep3. に矛盾しない。

さらに「zeno」が 3 だと考えられる。

現状
バドラス語アラビア数字バドラス語アラビア数字
manosino
peto9soto
qan4xito7
qitozan8
san1zeno3
バドラス語アラビア数字
1. mano sino
2. qana. 4
3. qitobazan
4. sanbasino sanlazenobamano
5. sanlasino
6. sanlazenobaqane. 84
7. san sanlasanbazang. 168
8. san sanlasanbazeno sanlazenobaqanl. 16384
9. san xitof. 107
10. xitob. 7
11. xito qitobapeto
12. zeno qitobamano

step 7.

以上より、「3. qitobazan」の一の位が 8 になるので、これは 28 に対応する。

11. xito qitobapeto」の百の位が 7 になるので、これは 729 に対応する。

12. zeno qitobamano」の百の位が 3 になるので、これは 325 に対応する。

これより「mano」が 5 を表し、step3. の表中に残った「sino」は 0 を表すことが分かる。

現状
バドラス語アラビア数字バドラス語アラビア数字
mano5sino0
peto9soto
qan4xito7
qitozan8
san1zeno3
バドラス語アラビア数字
1. mano sino
2. qana. 4
3. qitobazanc. 28
4. sanbasino sanlazenobamano
5. sanlasino
6. sanlazenobaqane. 84
7. san sanlasanbazang. 168
8. san sanlasanbazeno sanlazenobaqanl. 16384
9. san xitof. 107
10. xitob. 7
11. xito qitobapetoj. 729
12. zeno qitobamanoh. 325

step 8.

step7. より、「1. mano sino」が 500、「4. sanbasino sanlazenobamano」が 1085、「5. sanlasino」が 50 と順に決まり、以上に矛盾を生じないので、設問 A が解けた。

バドラス語アラビア数字
1. mano sinoi. 500
2. qana. 4
3. qitobazanc. 28
4. sanbasino sanlazenobamanok. 1085
5. sanlasinod. 50
6. sanlazenobaqane. 84
7. san sanlasanbazang. 168
8. san sanlasanbazeno sanlazenobaqanl. 16384
9. san xitof. 107
10. xitob. 7
11. xito qitobapetoj. 729
12. zeno qitobamanoh. 325

step 9.

ここからはバドラス語の単語中にある「-ba-,-la-」を含む部分の解析を行う。多くの単語で「sanla-」が共通しているので、これを含むものと含まないものに分けてみる。

sanla- ありsanla- なし
sanlazenobamano85qitobazan28
sanlasino50sanbasino10
sanlazenobaqan84qitobapeto29
sanlasanbazan68qitobamano25
sanlasanbazeno63

表右側に着目すると、アラビア数字で 25,28,29 全てに「qitoba」が対応しているので、これは 20 を表すことが分かる。「qito」が 2 だとすると、「-ba-」が「10 倍」を表しそうである。これは「sanbasino」が 10 であることに矛盾しない。

現状
バドラス語アラビア数字バドラス語アラビア数字
mano5sino0
peto9soto
qan4xito7
qito2zan8
san1zeno3

step 10.

step9. から「sanla-あり」の単語を分析すると、以下のようになる。

バドラス語アラビア数字
sanlazenobamano 50 + 3 \times 10 + 5 = 85
sanlasino 50 + 0 = 50
sanlazenobaqan 50 + 3 \times 10 + 4 = 84
sanlasanbazan 50 + 1 \times 10 + 8 = 68
sanlasanbazeno 50 + 1 \times 10 + 3 = 63

これより「sanla-」が 50 を表し、以上までで「soto」以外の規則が全て得られ、矛盾を生じない。

これで設問 B14. 以外の全ての設問が解ける。

step 11.

最後に「soto」が何に対応するか考える。

アラビア数字の 500 など、2 桁が「00」になるときでも省略せずに「sino」と表記することを考えると、1 桁の数であると解釈するのが自然。

step2. の前半で挙げた 9 個の単語は 6 以外の全ての 1 桁の数を網羅するから、「soto」は 6 であることが分かる。

現状
バドラス語アラビア数字バドラス語アラビア数字
mano5sino0
peto9soto6
qan4xito7
qito2zan8
san1zeno3
以上で、本問題の全ての設問が解ける。