株式会社ナレッジフロー 社員採用向け 入社試験

問1
ここに２つの門があります。１つは天国へ続く門で、 もう１つは地獄へ続く門です。門の前には１人ずつ門番が立っています。門番の１人は天使で、もう１人は悪魔です。天使は本当の事しか言わず、悪魔は嘘しか言いません。この２人は外見では見分けられません。
門番の一人に以下の質問をしました。
あなたは「あなたは「あなたは「この門は天国へ続く門ですか？」と聞かれたときに Noと答えますか？」と聞かれたときに Yes と答えますか？」と聞かれたときに No と答えますか？
上記質問に対し「Yes」という回答が得られた場合、上記質問の「この門」は天国へ続く門でしょうか？
答え選択：

Yes

No

どちらとも言えない問2
エクセルファイルでは、列の名前が以下のようになっています。
[A][B][C]...[Y][Z][AA][AB][AC]...[AY][AZ][BA][BB][BC]...[ZY][ZZ][AAA][AAB][AAC]...[[AAY][AAZ][ABA][ABB][ABC]すなわち、Z の次は AA、AZ の次は BA、ZZ の次は AAA、AAZ の次は ABA となっています。

上図を見るとわかるように、例えば、1 列目の名前は A,、20 列目の名前は T、30 列目の名前は ADです。
４５７０３２列目の名前は何でしょうか？

問3
あなたは、生まれてからこれまでに、1000 個の Web サイトやアプリでアカウント（ID とパスワード）を作成し、サービスを利用したとします。
技術の進歩により、これまでに主流だった暗号化アルゴリズムが突破できることがわかり、安全ではないことがわかったとします。
あなたがアカウントを作成した 1000 個の Web サイトやアプリも弱い暗号化アルゴリズムを使用していました。早急に対策が適用され、より安全度の高い暗号化アルゴリズムを使用するように改修されました。
改修された後も、あなたはこれまでのアカウントでこれらのサービスを利用できます。
また、これまでの暗号化アルゴリズムが安全でないことがわかってから対策がされるまでの間、あなたは 1000 個の Web サイトやアプリを使用していないものとします。
このような場合、あなたは、1000 個の Web サイトやアプリのパスワードを再設定する必要があるでしょうか？理由とともに回答してください。

問4
あなたは会議室で A さんと二人で打ち合わせをしているとします。
A さんが自分のスマホを机に置いたままトイレに行きました。A さんは 2～3 分席を外すことが予想されます。スマホにはロックがかかっています。
あなたは A さんの携帯電話番号を知っているとします。また、A さんが使っているメールのアドレス（Yahoo メールのアドレス）を知っているとします。
この状況で、あなたがあなたのスマホで A さんの LINE アカウントにログインするための情報を盗み取るにはどうすればよいでしょうか？

問54 個の文字（A,B,C,D）からなる長さ 10000 の文字列 S があります。
S の中の文字のうち 90%(9000 個)は A であることがわかっているとします。それ以外については Sに関する情報はなくランダムに作られた文字列であるとします。
このとき、S を、0 と 1 からなる文字列に可逆的に変換する方法を考えてください。
変換した結果の文字列の長さがなるべく短くなるような方法を考えてください。確率的にほぼ現れない最悪のケースにおいては最短にはならなくても、確率的に頻繁に現れる多くのケースにおいて短くなるという方法を考えてください。

【備考】「可逆的に」とは、変換した結果の文字列から元の文字列に変換する方法があることをいいます。
例えば、「S が何であっても 00 という文字列に変換する」というものは文字列を変換する方法の一つですが、00 から S に変換する方法がありませんので可逆的な変換方法ではありません。

【簡単な場合の例】
2 個の文字(A,B)からなる長さ 4 の文字列 T があるとします。
T を変換する方法として、A を 0, B を 1 として変換する方法があります。
この方法で変換すると、T が ABAB という文字列の場合は、0101 という長さ 4 の文字列に変換されます。

問6
筒状の容器が 4 つあり、容器 A、容器 B、容器 C、容器 D と名前がつけられています。
容器には玉を一列に入れることができます。また、容器内の一番上に置かれた玉を取り出し、他の容器の一番上に移動することができます。なお、玉は容器の外には置くことができず、また、取り出した玉をどこかの容器に置くまでは、他の玉を取り出すことはできません。
容器 A の中には 1～10 の番号が書かれた玉が 1 個ずつ（合計 10 個）入っており、容器 B, C, D には何も入っていないとします。
容器 A の中に 10 個の玉がどのような順番で玉が入っているかはわかりません。容器 A の中に入っている玉は、容器 A から取り出したときに、その玉の番号がわかるものとします。
ここで、容器 A の中に入っている 10 個の玉を、下から順番に数字の小さい順に並び替えて容器 Aの中に入れたいとします。
容器 A の中の玉を小さい順に並び替える手順を考えてください。ただし、最悪のケース（手順にしたがって玉を移動したときに最も移動回数が多くなるような順番で A の中に玉が入っている場合）における玉の移動回数が小さくなるような手順を考えてください。また、その手順にしたがって玉を移動させた場合、最悪のケースで何回の移動が必要かを求めてください。

【備考】
容器 A から玉を取り出しそのまま A に置いた場合も 1 回の移動とカウントします（したがって、移動回数を増やさずに玉の番号を見るということはできません）。

問7a, X, Y, Z の 4 個の数値を保持することができる装置があります。
（a, X, Y, Z の 4 個の数値の初期値はそれぞれ 0 であるとします。）
A,B,C の 3 人が、任意のタイミングで（1 回とは限りません）、a の値を増減するという状況を考えます。
ここで、A,B,C は、装置に対し以下の操作を行うことができるものとします。
a の値を取得するX の値を取得する
Y の値を取得する
Z の値を取得する
a の値をある値にセットする
X の値をある値にセットする
Y の値をある値にセットする
Z の値をある値にセットする
A,B,C が自由に（決まりを定めずに）a の値を増減する操作を行うと、装置内の a の値がその合計にならないという問題が起こります。
例えば、A と B の二人が同時に a の値を 100 増加する場合に、その操作が以下のタイミングで行われた場合、A,B の二人が 100 の増加を行ったにも関わらず、装置内の a の値は 100 になってしまいます。
(1)A が a の値を取得（a=0）(2)B が a の値を取得（a=0）(3)A が a の値を 0+100 にセット（a=100 になる）
(4)B が a の値を 0+100 にセット（a=100 になる）
以下では、A,B,C が任意のタイミングで a の値を増減する操作を行っても、結果として装置に保持される a の値がその合計になり、かつ適切に処理が完了するための手順を考えます。
問 7-1
以下の手順は正しくありません。どのような問題があるか説明してください。
【誤った手順の例その１】
A,B,C は以下の手順で a の値の増減操作を行う。ただし、A の手順内では n=1, B の手順内ではn=2, C の手順内では n=3 とする。また a に加えたい値を p とする。

(1)X の値を取得する(2)X の値が 0 もしくは n ならば(3)へ。0 もしくは n でないならば、しばらく待機して(1)へ(3)X の値を n にセットする(4)Y の値を取得する(5)Y の値が 0 もしくは n ならば(6)へ。0 もしくは n でないならば、しばらく待機して(1)へ(6)Y の値を n にセットする(7)X の値を取得する(8)X の値が n ならば(9)へ。n でないならば、しばらく待機して(1)へ(9)a の値を取得する（a=q であるとする）(10)a の値を q+p にセットする(11)X の値を取得する(12)X の値が n ならば、X の値を 0 にセットする(13)Y の値を取得する(14)Y の値が n ならば、Y の値を 0 にセットする
問 7-2
以下の手順は正しくありません。どのような問題があるか説明してください。
【誤った手順の例その２】
A,B,C は以下の手順で a の値の増減操作を行う。ただし、A の手順内では n=1, B の手順内ではn=2, C の手順内では n=3 とする。また a に加えたい値を p とする。
(1)X の値を取得する(2)X の値が 0 もしくは n ならば(3)へ。0 もしくは n でないならば、しばらく待機して(1)へ(3)X の値を n にセットする(4)Y の値を取得する(5)Y の値が 0 もしくは n ならば(8)へ。0 もしくは n でないならば(6)へ(6)X の値を取得する(7)X の値が n ならば、X の値を 0 にセットし、しばらく待機して(1)へ。n でないならば、しばら
く待機して(1)へ(8)Y の値を n にセットする(9)X の値を取得する(10)X の値が n ならば(11)へ。n でないならば、しばらく待機して(1)へ(11)a の値を取得する（a=q であるとする）(12)a の値を q+p にセットする(13)X の値を取得する(14)X の値が n ならば、X の値を 0 にセットする(15)Y の値を取得する(16)Y の値が n ならば、Y の値を 0 にセットする

問 7-3
正しい手順を考え、その手順に問題がないことを説明してください。
なお、上記「誤った手順の例その 1、その２」では、X と Y しか使っていませんが Z も使って構いません。
問 7-4
Z を使わない手順を考え、その手順に問題がないことを説明してください。
【備考】
A,B,C は、a の増減操作（例えば p を足す）を行う必要がないときでも、いつもでも a, X, Y の値を取得したり値を更新したりしてもよいものとします。

問8
佐藤さんは 2 匹のペットを飼っています。ペットはそれぞれ犬・猫のどちらかで、それぞれ犬である確率は 50%であるとします。
以下の(A)～(G)の答えについて下記(1)～(9)で論じています。(1)～(9)について誤っている論拠を指摘してください。

(A) ペットのうち少なくとも 1 匹は犬であることがわかっている場合、佐藤さんのペットが2 匹とも犬である確率はいくつでしょうか？
(B) 佐藤さんがドッグフードを購入しているのを見ました。したがって、ペットのうち少なくとも 1 匹は犬であることがわかりました。佐藤さんのペットが 2 匹とも犬である確率はいくつでしょうか？
(C) 佐藤さんの家から犬の鳴き声が聞こえました。したがって、ペットのうち少なくとも 1匹は犬であることがわかりました。佐藤さんのペットが 2 匹とも犬である確率はいくつでしょうか？
(D) 佐藤さんの家から 1 匹の犬の鳴き声が聞こえました。したがって、ペットのうち少なくとも 1 匹は犬であることがわかりました。佐藤さんのペットが 2 匹とも犬である確率はいく
つでしょうか？
(E) 佐藤さんの家で 1 匹の犬の鳴き声を聞きました。したがって、ペットのうち少なくとも1 匹は犬であることがわかりました。佐藤さんのペットが 2 匹とも犬である確率はいくつでしょうか？
(F) 佐藤さんの家で 1 匹の犬を見ました。佐藤さんのペットが 2 匹とも犬である確率はいく
つでしょうか？
(G) 佐藤さんの家で 1 匹の犬の鳴き声を聞きました。佐藤さんのペットが 2 匹とも犬である
確率はいくつでしょうか？

(1) (A)の答えは、1/3 である。
（理由）
ペットをそれぞれ(x)(y)とすると、
ケース 1 (x)が犬, (y)が犬
ケース 2 (x)が犬, (y)が猫
ケース 3 (x)が猫, (y)が犬
ケース 4 (x)が猫, (y)が猫がそれぞれ 1/4 の確率で起こる。
ケース 1,2,3,4 のうち、少なくとも 1 匹は犬であるという前提を満たすものは、ケース 1,2,3 の三つである。
ケース 1,2,3 が同確率で起こり、その中で 2 匹とも犬であるケースは一つなので、答えは 1/3 である。
(2) (B)の答えは、(A)の答えと同じである。
(3) (C)の答えは、(B)の答えと同じである。
(4) (D)の答えは、(C)の答え以下である。
（理由）
一般に、
P の場合の R の確率 ≧ Q の場合の R の確率の場合、P もしくは Q の場合の R の確率 ≧ Q の場合の R の確率が成り立つ。
（例）
動物園に 10 匹の犬（うち雄が 5 匹）と 10 匹の猿（うち雄が 7 匹）いる場合、動物が猿の場合の雄の確率（70%) ≧ 動物が犬の場合の雄の確率（50%)
なので、動物が猿もしくは犬の場合の雄の確率(20 匹中 12 匹なので 60%) ≧ 動物が犬の場合の雄の確率(50%）
また、佐藤さんの家から犬の鳴き声が聞こえました。
＝ 佐藤さんの家から 1 匹の犬の鳴き声が聞こえました。もしくは、佐藤さんの家から 2 匹の犬の鳴き声が聞こえました。
上記から、(C) 「佐藤さんの家から犬の鳴き声が聞こえました。
」の場合の 2 匹が犬の確率＝「佐藤さんの家から 1 匹の犬の鳴き声が聞こえました。もしくは、佐藤さんの家から 2 匹の犬の鳴き声が聞こえました。
」の場合の 2 匹が犬の確率≧(D) 「佐藤さんの家から 1 匹の犬の鳴き声が聞こえました。
」の場合の 2 匹が犬の確率
P=佐藤さんの家から 2 匹の犬の鳴き声が聞こえました。
Q=佐藤さんの家から 1 匹の犬の鳴き声が聞こえました。
R=2 匹が犬(5) (E)の答えは、(D)の答えと同じである。
(6) (F)の答えは、1/2 である。
（理由）
ペットをそれぞれ(x)(y)とする。
佐藤さんの家で見たペットが(x)の場合、(x)が犬であることが確定するので、2 匹とも犬である
確率は(y)が犬である確率と等しく、1/2 である。
また、佐藤さんの家で見たペットが(y)の場合、同様に、2 匹とも犬である確率は 1/2 である。
佐藤さんの家で見たペットが(x)の場合も(y)の場合も、2 匹とも犬である確率は 1/2 なので、(D)の答えは 1/2 である。
(7) (G)の答えは、(F)の答えと同じである。
(8) (G)の答えは、(E)の答えと同じである。
（理由）(G)の場合と(E)の場合で、起こった事象が同じであるため。
(9) (1)～(8)から、1/2 ≦ 1/3 が導かれる。
（理由）(6)により、1/2 ＝ (F)の答え(7)により、(F)の答え ＝ (G)の答え(8)により、(G)の答え ＝ (E)の答え(5)により、(E)の答え ＝ (D)の答え(4)により、(D)の答え ≦ (C)の答え(3)により、(C)の答え ＝ (B)の答え(2)により、(B)の答え ＝ (A)の答え(1)により、(A)の答え ＝ 1/3【問題を理解するためのヒント１】
佐藤さんが 2 個のサイコロをふりました。
(1) 佐藤さんから「2 個のサイコロのうち少なくとも 1 個は出た目が偶数だった」と教えてもらった場合に、サイコロの目が 2 個とも偶数である確率は？ → 答え：1/3(2) 佐藤さんのサイコロの 1 個を任意に選んでそのサイコロの出た目を見たところ偶数だった場
合に、サイコロの目が 2 個とも偶数である確率は？ → 答え：1/2【問題を理解するためのヒント２】「スミスさんの子供」で Web 検索して、書かれていることを理解してください。