それは私が課題で得た質問です..そして私は質問を進める手がかりを得ていません
.この質問はこのようなものです.男性はエイリアンと通信して
、座標
を提供することで地球局に安全に着陸させたいと考えていますが、エイリアンは多少異なる表現を使用しています.
数字 (10 進数ではない)
エイリアン表現には、
入力 (9,5) 用の文字セット (ofa) が含まれています。男性は次の (foo,fa)
を与えます。自分でコードを書けるように、ヒントまたはコードを教えてください
3 に答える
ヒント: エイリアンは、私たちと同じように位置番号システムを使用しています。(つまり、ローマ数字や数字の名前を綴ったようなものではないでしょう。)
2 番目のヒント: エイリアンの数体系に含まれる文字数を考えてみましょう。
ヒント:
3つのシンボルがあります。10 進数 (基数 10) には 10 桁があります: 0 1 2 3 4 5 6 7 8 9. 2 進数 (基数 2) には 0 と 1 の 2 桁があります。エイリアン システムには 3 つのシンボルがあるので、その組織について推測できますか?
5base10 = 12base3. 9base10 = 100base3. したがって、10 進数の (9,5) は、3 進数の (100, 12) と同じです。どのエイリアンのシンボルが人間のどの指を表しているか推測できますか?
彼らは三元であるように見えます。
10 進数 (基数 10) を 3 進数 (基数 3) に変換します。
0
、1
およびを使用する代わりに2
、エイリアンがo
、f
およびを使用していることに気付くでしょうa
。これらは基本的に同じ番号にマッピングされます。
したがって、答えを得るには、10 進数から 3 進数に変換してから、エイリアンの文字を数字に置き換えます。
サンプル PHP コード
$chars = 'ofa';
$ternary = str_split(base_convert(9, 10, 3));
foreach($ternary as $num) {
echo $chars[$num];
}
これはどの言語でも実行できますが、幸いにも PHP にはネイティブbase_convert()
関数があります。