パズルといっても情報処理のちょっとした知識が必要です。全く回答がなく空振りの質問となる可能性もありますが実験のつもりでトライしてみます。
Q1 『日』
0を表すのは、119
1を表すのは、96
2を表すのは、62
3を表すのは、124
4を表すのは、105
5を表すのは、93
6を表すのは、95
7を表すのは、100 または 101
9を表すのは、125
では8を表すのは、いくつでしょう?
答えと簡単な説明をお願いします。
Q2 『だいじじす・・・・・・』
1を表すのは、0m
2を表すのは、Fu
3を表すのは、;2
4を表すのは、fh
5を表すのは、8`
6を表すのは、N&
7を表すのは、<?
9を表すのは、6j
では8を表す文字列はなんでしょう?
答えと簡単な説明をお願いします。
回答オープンは、日曜日22:00頃を予定しています。
回答状況によってヒントを出すかもしれません。
A1.
下のような7セグメントLEDなどで
数字をデジタル表示したものを考えます。
─
│ │
─
│ │
─
それぞれのセグメントのOn/Offを1ビットで表したときの
10進表記が答えだと予想します。
そうすると、全部Onになるはずの8は
1+2+4+8+16+32+64=127ですかね。
検証してみます。
7は
━
┃ ┃
─
│ ┃
─
━
│ ┃
─
│ ┃
─
どちらも7と読めますので2通りあるのだと思います。
すると片方が100で片方が101ですので左上縦ののセグメントが
1を表すのだと判断できます。
さて、1すなわち
─
│ ┃
─
│ ┃
─
が96ですので7の線が少ないものと比較することで
一番上の横棒のセグメントが4だと分かります。
以下同様にして全てのセグメントが
どのビットに対応するか書き出すと
左上の縦棒=1
左下の縦棒=2
一番上の横棒=4
真ん中の横棒=8
一番下の横棒=16
右上の縦棒=32
右下の縦棒=64
となり、これは問題で出された数と一致します。
従って予想通り8を表すのは127です。
A2.
大字JISと解釈しました。
OmをASCIIコードに直すとOx306dです。
これに対応するJISコードは"壱"です。
同様にFuをASCIIコードに直すと0x4675。
これに対応するJISコードは"弐"です。
同様に
3→参
4→肆
5→伍
6→陸
7→漆
9→玖
です。
8の大字は"捌"ですのでJISコードでは0x3b2b
ASCIIコードに直すと;+です。
よって8を表すのは;+です。
A1.
下のような7セグメントLEDなどで
数字をデジタル表示したものを考えます。
─
│ │
─
│ │
─
それぞれのセグメントのOn/Offを1ビットで表したときの
10進表記が答えだと予想します。
そうすると、全部Onになるはずの8は
1+2+4+8+16+32+64=127ですかね。
検証してみます。
7は
━
┃ ┃
─
│ ┃
─
━
│ ┃
─
│ ┃
─
どちらも7と読めますので2通りあるのだと思います。
すると片方が100で片方が101ですので左上縦ののセグメントが
1を表すのだと判断できます。
さて、1すなわち
─
│ ┃
─
│ ┃
─
が96ですので7の線が少ないものと比較することで
一番上の横棒のセグメントが4だと分かります。
以下同様にして全てのセグメントが
どのビットに対応するか書き出すと
左上の縦棒=1
左下の縦棒=2
一番上の横棒=4
真ん中の横棒=8
一番下の横棒=16
右上の縦棒=32
右下の縦棒=64
となり、これは問題で出された数と一致します。
従って予想通り8を表すのは127です。
A2.
大字JISと解釈しました。
OmをASCIIコードに直すとOx306dです。
これに対応するJISコードは"壱"です。
同様にFuをASCIIコードに直すと0x4675。
これに対応するJISコードは"弐"です。
同様に
3→参
4→肆
5→伍
6→陸
7→漆
9→玖
です。
8の大字は"捌"ですのでJISコードでは0x3b2b
ASCIIコードに直すと;+です。
よって8を表すのは;+です。
yo-kunさん : 15+15+8 = 38
&
イルカ
Q1 127
7セグ
Q2 H,
八→482C→H,
Q2は難しかった
Sag_Chickenさん : 15+10+7 = 32
Q2は惜しかった。
Q1回答 127
7ビットで数字をあらわす
8はすべてONだから1111111=127
Q2回答 H,
8は八ですね。
八のJISコードは482C
48と2CはアスキーコードでHと,
Gay_Yahngさん : 15+10+6 = 31
Q2は惜しかった。
1問目、答えは127。
ヒントの「日」は、7セグメント表示機のこと。
例示された値は、各セグメント(Bit)に以下のように2進数の重み付けをして
その数字を表示するときにONになるBitを足したもの、ですね。
04 01 32 08 02 64 16
たとえば、0は中心(08)以外が全部ONで、それぞれの重みを足すと119。
8は7つすべてのセグメントがONなので、127。
2問目、
>では8を表す文字列はなんでしょう?
答えは ;+ です。
ヒントの「だいじじす」は大字JIS。
大字とは一二三の漢数字の代わりに壱弐参を使う記法です。
例示は、各数字の大字をJISコードで示したときの各バイトを
ASCIIコードとして解釈した文字列。
1の大字は、壱→306Dh→ 0m 2の大字は、弐→4675h→ Fu 3の大字は、参→3B32h→ ;2 4の大字は、肆→6668h→ fh 5の大字は、伍→3860h→ 8` 6の大字は、陸→4E26h→ N& 7の大字は、漆→3C3Fh→ <? 8の大字は、捌→3B2Bh→ ;+ 9の大字は、玖→366Ah→ 6j
ANSUKOEMUさん : 15+15+5 = 35
Q1がずっとわからず丸1日考えてましたが、答えがわかってみると実に味のある問題ですね。
「タイトル」、「数値が0~9」、そして「7が二通り表示されている」と、ヒントが隠されていたのにフムフムと感心しました。
前置きはさておき、回答です。
【A1】 127
【理由】
のようにすると
表示する数字 | 部分の数字の和 |
---|---|
[0] | 1+2+4+16+32+64=119 |
[1] | 32+64=96 |
[2] | 4+32+8+2+16=62 |
[3] | 4+8+16+32+64=124 |
[4] | 1+8+32+64=105 |
[5] | 1+4+8+64+16=93 |
[6] | 4+1+2+16+64+8=95 |
[7] | (1)+4+32+64=100(101) |
[8] | 1+2+4+8+16+32+64=127 |
[9] | 1+4+32+64+8+16=125 |
なので。
【A2】 ;+
【理由】
EXCEL でA列に問題の文字を入力し
B1:B9を選択した状態で、下記の式を入力
=CHAR(CODE(LEFT(A1,1) )*256+CODE(RIGHT(A1,1)))
数字から答えを出す式(上記の逆関数)は下記の通り
=CHAR(INT(CODE(A10)/256))&CHAR(MOD(CODE(A10),256))
(文字(捌)をA10、式をB10に入れた場合)
ということで、よろしいでしょうか。
(理由になっていないかなぁ?)
今回は本当に楽しませていただきました。
次問を楽しみにしてます。
Mookさん : 15+15+4 = 34
回答可能にしてもらったのに気がつきませんでした。
Q2のヒントが出てしまいましたね。
ひとつめは、127です。
日は、デジタルの数字。
数字を表示するときに使うそれぞれの棒を、二進数のビットに対応させます。
左縦棒の上が1、下が2、真ん中の横棒が、4、8、16、右縦棒が32、64。
8は全部使うので、127となります。
ちなみにCMOSの4511という7SegドライバICだと、6は91で、9は109でした。
ふたつめは、";+"です。
追加されたヒントは「大字JIS/x100商剰余ASCIIキャラ」。
八の大字は捌、JISコードでx3B2B、x100で割った商がx3Bで余りがx2B。
それぞれASCIIキャラにすると ;+ 。
大字の4、7~9はさすがに判らずWebで調べました。
そういう字を当てていたのですね。
dungeon-master さん : 15+15+3 = 33
●Q1:答え 127
問題は「7セグに数字を表示させる際に、ポートに出力するビット列をデシマルで表したもの」だと思います。
各セグメントが何ビット目なのかを求めることも可能ですが、8は全てオンですので求める必要は無いですね。
答えは「1111111b」=127だと思います。
●Q2:答え ;+
問題は「大字のJISコードの第1バイト・第2バイトをアスキー文字で表したもの」だと思います。
だいじ:大字を
じす:JISコードに変換し
すらえくすいちまるまる:そのJISコードの値を0x100で割り
しょうじょうよ:その商と剰余を
あすききゃら:アスキー文字にする
8の大字は「捌」でJISコードは3B2Bです。
3Bは「;」、2Bは「+」ですので、答えは ;+ だと思います。
Beiriiさん : 15+15+2 = 32
A1 127
説明
『日』は7セグメント表示器を表します。
http://www.arch.cs.kumamoto-u.ac.jp/project/kite/3days/explain/V...
a
f
b
g
e
c
d
上記のように各セグメントをa,b,c,d,e,f,gと定義します。
各セグメントの点灯を"1",消灯を"0"として7桁の2進数で数字の0から9まで表示します。その時の2進数を10進数に変換したのが問題の数字になります。
問題の数字をそれぞれ2進数に変換すると下記になります。
c
b
d
g
a
e
f
0
119
1
1
1
0
1
1
1
1
96
1
1
0
0
0
0
0
2
62
0
1
1
1
1
1
0
3
124
1
1
1
1
1
0
0
4
105
1
1
0
1
0
0
1
5
93
1
0
1
1
1
0
1
6
95
1
0
1
1
1
1
1
7
100
101
1
1
0
0
1
0
0
1
8
127
1
1
1
1
1
1
1
9
125
1
1
1
1
1
0
1
セグメントa,b,c,d,e,f,gを各桁に割り当てて考えると、
cbdgaefの順番になります。
"8"を表示する場合は(どう割り当てられているか考えるまでもなく)7セグメント全部点灯させることになるので"1111111"=127になります。
A2 ;+
法則:数字のhttp://ja.wikipedia.org/wiki/%E5%A4%A7%E5%AD%97_(%E6%95%B0%E5%AD%97):title=大字]をJISコード(16進数)で表し、それを上位2桁と下位2桁に分けてそれぞれ対応するアスキーコードで文字に変換する。
"8"の大字は"捌"でJISコードは16進数で"3b2b"。
"3b"=";"
"2b"="+"
なので答えは ;+
j1960さん : 15+15+1 = 31
yo-kunさん : 15+15+8 = 38
&
イルカ