コンピュータサイエンス基礎:直前対策パック

公式集、全トピックの解法の要点、20 問の演習問題。完全な解答は巻末にあります。

新しい問題科目に戻る

印刷ウィンドウで「PDF として保存」を選ぶと、コピーを端末に保存できます。

1公式と解法

記数法

位取り
2 進数 2k、8 進数 8k、16 進数 16k
10 進数へ
Σ dk·bk
10 進数から
基数で割り、余りを下から上へ読む
16 進数 ↔ 2 進数
16 進数 1 桁 = 4 ビット
2 の補数
ビットを反転して 1 を足す

命題論理と証明

真理値表の行
2ⁿ
含意
p → q ≡ ¬p ∨ q ≡ ¬q → ¬p
含意の否定
¬(p → q) ≡ p ∧ ¬q
同値(双条件)
p ↔ q ≡ (p → q) ∧ (q → p)
ド・モルガンの法則
¬(p ∧ q) ≡ ¬p ∨ ¬q, ¬(p ∨ q) ≡ ¬p ∧ ¬q
分配法則
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r), p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
量化子の否定
¬∀x P(x) ≡ ∃x ¬P(x), ¬∃x P(x) ≡ ∀x ¬P(x)
肯定式(modus ponens)、否定式(modus tollens)
p → q, p ⊢ q; p → q, ¬q ⊢ ¬p

解き方

  1. 異なる変数の数を数えます:真理値表の行数は 2ⁿ で、最初の行はすべて 1 です。
  2. 部分式ごとに列を用意し、内側から順に列を埋めていきます。
  3. 各結合子の規則を適用します:→ が 0 になるのは 1 → 0 のときだけ、↔ は両辺が一致するとき 1 です。
  4. 同値の判定では最後の列を行ごとに比べます。論証の判定では、すべての前提が 1 である行だけを見ます。
  5. 量化された文を否定するには、¬ を内側へ移し、∀ と ∃ を入れ替え、内側の式を否定します。

デジタル論理:ゲート・カルノー図・フリップフロップ

基本ゲート
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
ブールの規則
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
ド・モルガンの法則
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
カルノー図の並び順
00, 01, 11, 10 (Gray code)
2ᵏ 個のセルのグループ
k 個の変数が消える
4 対 1 マルチプレクサ
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
フリップフロップ
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
カウンタ
n ビット:2ⁿ 状態; mod-N:2ⁿ ≥ N を満たす最小の n; fout = fclk/N
リップルカウンタ
fmax = 1/(n·tpd)
リングカウンタとジョンソンカウンタ
n 状態と 2n 状態

解き方

  1. 回路では、入力から出力へ向かってゲートを 1 つずつ進み、各配線に値を書き込むか、式を書いて真理値表を埋めましょう。
  2. 簡単化するには、1(とドントケアは X として)を、行と列がグレイコード 00, 01, 11, 10 のカルノー図に書き込みましょう。
  3. 1 を、1, 2, 4, 8, 16 個のセルからなる、できるだけ少なくできるだけ大きなグループで、端をまたぎながら覆いましょう。各グループは、一定のままの変数からなる 1 つの積項です。POS 形には 0 をグループ化します。
  4. フリップフロップとカウンタでは、各有効クロックエッジで入力を読み取り、エッジごとの状態を書き出し、n ビットのカウンタは 2ⁿ 個の状態で折り返すことを忘れないようにしましょう。

整数論と合同式

余りのある割り算
a = q·n + r, 0 ≤ r < n
ユークリッド
gcd(a, b) = gcd(b, a mod b)
最小公倍数
lcm(a, b) = a·b/gcd(a, b)
逆行列
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
一次合同式
a·x ≡ b → x ≡ a⁻¹·b (mod n)
オイラーのトーシェント関数
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
フェルマー
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n

解き方

  1. まずすべての数を n で割った余りに直します。余りは 0 から n − 1 の間です。
  2. 最大公約数は、ユークリッドの互除法で割り算を繰り返して求めます。最後の 0 でない余りが最大公約数です。
  3. 逆元は拡張ユークリッドの互除法で求め、a の係数を取ります。負なら n を足します。
  4. a·x ≡ b は a⁻¹ を掛けて解きます。2 つの合同式は x = r₁ + m₁k とおいて組み合わせます。
  5. べき乗では、指数を 2 進数で書いて平方を繰り返します。RSA では d = e⁻¹ mod φ(n)、φ(n) = (p − 1)(q − 1) です。

グラフ理論

握手補題
Σ deg(v) = 2|E|
完全グラフ
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
正則グラフ
|E| = n·k/2
木と森
|E| = n − 1, |E| = n − c
木の葉
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
オイラー
閉路:すべての次数が偶数; 路:奇数次数がちょうど 2 つ
Kn のハミルトン閉路
(n − 1)!/2
ダイクストラ法の更新
d(v) = min(d(v), d(u) + w(u, v))
長さ L の歩道
(Mᴸ)ij

解き方

  1. 各頂点の次数を書き出します。次数の総和は辺の数の 2 倍になります。
  2. オイラーの問題では、グラフが連結であることを確かめ、奇数次数の頂点を数えます。
  3. 木では、辺が n − 1 本であることと握手補題を使います。
  4. ダイクストラ法では、暫定距離の表をつくり、毎回、未確定の頂点のうち最小のものを確定します。
  5. 最小全域木では、辺を重みの順に並べ、閉路をつくる辺を飛ばす方法(クラスカル法)か、始点から 1 本の木を成長させる方法(プリム法)を使います。

IPv4 サブネット化

サブネットあたりのホスト数
2(32 − prefix) − 2 (/31: 2, /32: 1)
ブロックサイズ
256 − (mask octet)
ネットワークアドレス
IP AND マスク
ブロードキャストアドレス
IP OR (NOT マスク):ホスト部のビットをすべて 1 にする
n ビット借りたときのサブネット数
2n

2演習問題

1.記数法ふつう
2 の補数での桁の重み1−12806413201618040211

8 ビットのパターン 1010 1001 は、符号付き整数を 2 の補数で表しています。10 進数での値 N はいくつですか?

1010 10018 bit
N =
2.記数法むずかしい
ビットをクリックして設定します012806403201608040201

ビットを 0110 1000 XOR 1000 0011 の 8 ビットの結果に設定します。結果の値 R は 10 進でいくつですか?

0110 1000XOR1000 0011
R =
3.命題論理と証明ふつう
(p → q) ∨ (r → q)p ∨ (r → q)(p → q) ∧ (r → q)(p ∧ r) → q

(p ∨ r) → q と論理的に同値な論理式はどれですか? クリックしてください。

(p ∨ r) → q
  1. 1(p → q) ∨ (r → q)
  2. 2p ∨ (r → q)
  3. 3(p → q) ∧ (r → q)
  4. 4(p ∧ r) → q
4.命題論理と証明むずかしい
¬q → ¬pq → pp → qq ∧ p

前提 q → r; r → p が与えられています。そこから導かれる結論はどれですか? クリックしてください。

q → rr → p
  1. 1¬q → ¬p
  2. 2q → p
  3. 3p → q
  4. 4q ∧ p
5.デジタル論理:ゲート・カルノー図・フリップフロップふつう
MUXC′I0​0I1​C′I2​1I3​ABS1​S0​F

4 対 1 マルチプレクサの選択入力が S₁ = A、S₀ = B で、データ入力は I₀ = C′、I₁ = 0、I₂ = C′、I₃ = 1 につながれています。A, B, C の 8 通りの組み合わせのうち、出力 F = 1 になるのはいくつですか? N を求めてください。

I₀ = C′I₁ = 0I₂ = C′I₃ = 1
N =
6.デジタル論理:ゲート・カルノー図・フリップフロップむずかしい
ABCD000111100001111010011312X4050706012013X151141809X11X10

d はドントケア条件を表します。F(A, B, C, D) = Σm(0, 2, 3, 8, 14) + d(4, 10, 11, 15) について、必須主項の個数 N を求めてください。

F(A, B, C, D) = Σm(0, 2, 3, 8, 14) + d(4, 10, 11, 15)
N =
7.整数論と合同式ふつう

5x ≡ 4 (mod 13) を解いてください。0 < x < 13 を満たす解 x を答えてください。

5x ≡ 4 (mod 13)
x =
8.整数論と合同式むずかしい

97 は素数です。フェルマーの小定理を使って 279702 mod 97 を求めてください。

p = 97k = 9702
279702 mod 97 =
9.アルゴリズムと計算量ふつう

ボトムアップの表を使って n 番目のフィボナッチ数を計算する時間計算量は何ですか?

  1. AO(n)
  2. BO(log n)
  3. CO(2ⁿ)
  4. DO(n²)
10.アルゴリズムと計算量むずかしい

V 個の頂点と E 本の辺をもつグラフで、二分ヒープを用いたダイクストラ法の実行時間は何ですか?

  1. AO(V³)
  2. BO(V + E)
  3. CO((V + E) log V)
  4. DO(V × E)
11.データ構造ふつう

インデックス 0 から始まる配列に格納された二分ヒープで、インデックス i のノードの親はどこにありますか。

  1. Aインデックス ⌊i / 2⌋ + 1
  2. Bインデックス ⌊(i − 1) / 2⌋
  3. Cインデックス i − 1
  4. Dインデックス 2i + 1
12.データ構造むずかしい

異なるキーをもつ二分木を常に一意に決定する走査の組はどれですか。

  1. A行きがけ順だけ
  2. B行きがけ順と通りがけ順
  3. C行きがけ順と帰りがけ順
  4. Dレベル順だけ
13.グラフ理論ふつう

木に 次数 3 の頂点が 2 個, 次数 5 の頂点が 2 個 があり、ほかのすべての頂点は葉(次数 1)です。葉は何枚Lありますか?

2 × deg 32 × deg 5
L =
14.グラフ理論むずかしい
1413121615956197ABCDEFG

重み付きグラフの最小全域木の重みの合計 W を求めてください。

|V| = 7|E| = 10
W =
15.データベースと SQLふつう

SELECT price * 2 AS double_price FROM t WHERE double_price > 10 が多くのデータベースで失敗するのはなぜですか?

  1. ASELECT リストでは算術演算が許されないから
  2. B別名にアンダースコアを含めてはいけないから
  3. CWHERE はテキスト列しか比較できないから
  4. DWHERE は SELECT リストより先に評価されるので、別名がまだ存在しないから
16.データベースと SQLむずかしい

あるアプリは UPDATE item SET qty = 4, version = 8 WHERE id = 1 AND version = 7 を実行し、更新された行がなければ競合を報告します。これはどの手法ですか?

  1. A楽観的同時実行制御
  2. Bデータベースのシャーディング
  3. Cログ先行書き込み
  4. D行ロックを用いる厳格な 2 相ロック
17.コンピュータネットワークふつう

192.168.0.0/24 と 192.168.1.0/24 の両方を集約する 1 つのプレフィックスはどれですか?

  1. A192.168.0.0/22
  2. B192.168.1.0/23
  3. C192.168.0.0/23
  4. D192.168.0.0/25
18.コンピュータネットワークむずかしい

衝突を繰り返した後、従来の Ethernet の端末は、毎回 2 倍になる範囲から待ち時間を選びます。なぜですか?

  1. Aすべての端末を 1 つのクロックに同期させるため
  2. Bケーブルが信号をより遠くまで運べるようにするため
  3. C多数の端末が競合しているときに再び衝突する確率を下げるため
  4. D共有ケーブル上で、MAC アドレスが最も大きい端末を優先するため
19.IPv4 サブネット化ふつう
/?11111111111111111111111000000000ネットワーク部ホスト部

ある部署では、1 つのサブネット内に 344 個のホストアドレスが必要です。十分な大きさとなる最長のプレフィックス長 p(最小のサブネット)はいくつですか?

344 hosts
p =
20.IPv4 サブネット化むずかしい

ネットワーク 192.168.230.0/24 を、次の LAN 用に VLSM で分割します:A: 42 ホスト, B: 23 ホスト, C: 33 ホスト, D: 8 ホスト。サブネットは .0 から順に、ホスト数が最も多い LAN から、収まる最小のサブネットで割り当てます。LAN B のネットワークアドレスの第 4 オクテット x はいくつですか?

A: 42B: 23C: 33D: 8
x =

3溶液

1.記数法

答え: N = −87

位取り記数法:各桁の値は、その数字に基数のべき乗を掛けたものです。2 進数では各桁の重みが 1、2、4、8、16、…、16 進数では 1、16、256、… で、A–F は 10–15 を表します。8 ビットの 2 の補数では、最上位ビットの重みが +128 ではなく −128 になり、こうして負の数を表します。

重みを合計する

ほかのビットは通常の正の重みのままです。

−128 + 32 + 8 + 1 = −87

答え

N = −87
2.記数法

答え: R = 235

ビットの設定:各ビットは 2 のべき乗(128、64、…、1)の値をもちます。16 進の 1 桁はちょうど 4 ビットで、8 ビットの 2 の補数では、いちばん左のビットの値は −128 です。ビット演算は、各ビット位置を別々に扱います。

ビットごとに

XOR は、2 つのビットが異なるところで 1 になります。

0110 1000
XOR 1000 0011
= 1110 1011

結果の値

1110 1011₂ = 235

答え

R = 235
3.命題論理と証明

答え: (p → q) ∧ (r → q)

論理的同値:2 つの論理式は、真理値表のすべての行で同じ値をとるとき同値(≡)です。恒真式(トートロジー)はすべての行で 1、矛盾(恒偽式)はすべての行で 0、どちらでもないものは充足可能な非恒真式です。役に立つ法則:ド・モルガンの法則 ¬(a ∧ b) ≡ ¬a ∨ ¬b と ¬(a ∨ b) ≡ ¬a ∧ ¬b、a → b ≡ ¬a ∨ b ≡ ¬b → ¬a(対偶)、¬(a → b) ≡ a ∧ ¬b、そして分配法則 a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c)。

法則

(a ∨ b) → c は、a か b のどちらかが成り立つたびに c を必要とします:(a → c) ∧ (b → c)。
(p ∨ r) → q ≡ (p → q) ∧ (r → q)

真理値表で確かめる

p = 1, q = 1, r = 1: 1 | 1 1 1 1
p = 1, q = 1, r = 0: 1 | 1 1 1 1
p = 1, q = 0, r = 1: 0 | 0 1 0 0
p = 1, q = 0, r = 0: 0 | 1 1 0 1
p = 0, q = 1, r = 1: 1 | 1 1 1 1
p = 0, q = 1, r = 0: 1 | 1 1 1 1
p = 0, q = 0, r = 1: 0 | 1 0 0 1
p = 0, q = 0, r = 0: 1 | 1 1 1 1

答え

(p → q) ∧ (r → q)

縦線の後ろの列は、表示されている順の選択肢です。

4.命題論理と証明

答え: q → p

量化子と論証:¬∀x P(x) ≡ ∃x ¬P(x)、¬∃x P(x) ≡ ∀x ¬P(x)。否定を内側へ移し、通過する量化子をすべて入れ替え、内側の式は ¬(a → b) ≡ a ∧ ¬b のような命題論理の法則で否定します。論証は、すべての前提が 1 であるどの行でも結論が 1 のとき、妥当です。前提が真で結論が偽になる行が 1 つでもあれば、それは反例であり、その論証が妥当でないことを示します。

すべての前提が真の行

p = 1, q = 1, r = 1: ¬q → ¬p = 1, q → p = 1, p → q = 1, q ∧ p = 1
p = 1, q = 0, r = 1: ¬q → ¬p = 0, q → p = 1, p → q = 0, q ∧ p = 0
p = 1, q = 0, r = 0: ¬q → ¬p = 0, q → p = 1, p → q = 0, q ∧ p = 0
p = 0, q = 0, r = 0: ¬q → ¬p = 1, q → p = 1, p → q = 1, q ∧ p = 0

結論

q → p (仮言三段論法)

答え

q → p
5.デジタル論理:ゲート・カルノー図・フリップフロップ

答え: N = 4

マルチプレクサ:2ⁿ 対 1 のマルチプレクサは、データ入力の 1 つを出力に通します。選択線を 2 進数として読んだ値が、どれを通すかを決めます。選択線 S₁S₀ = AB の 4 対 1 MUX では、F = A′B′·I₀ + A′B·I₁ + AB′·I₂ + AB·I₃ です。データ入力を 0, 1, C, C′ につなぐと、MUX は A, B, C の任意の関数を出力でき、1 つのチップで論理をつくる一般的な方法です。

出力の式

F = A′B′C′ + AB′C′ + AB

F = 1 の行

ABC = 000, 100, 110, 111
N = 4

答え

N = 4
6.デジタル論理:ゲート・カルノー図・フリップフロップ

答え: N = 3

カルノー図:セルはグレイコード(00, 01, 11, 10)の順に並んでいるので、端をまたぐものも含め、隣り合うセルはちょうど 1 つの変数だけが異なります。1 を、1, 2, 4, 8, 16 個のセルからなる長方形で、できるだけ大きく、できるだけ少ない数でグループ化し、すべての 1 を覆います。各グループは 1 つの積項で、グループの中で一定のままの変数からなります。2ᵏ 個のセルのグループでは k 個の変数が消えます。ドントケア(X)はグループを大きくするために使えますが、覆う必要はありません。代わりに 0 をグループ化すると、最小の POS 形が得られます。

主項

1 と X からつくれる最大のグループ。

B′D′, B′C, AC, A′C′D′
ABCD000111100001111010011312X4050706012013X151141809X11X10

必須主項

B′D′, B′C, AC
N = 3

答え

N = 3
7.整数論と合同式

答え: x = 6

逆元と合同式:a が n を法として逆元をもつのは、gcd(a, n) = 1 のときに限ります。拡張ユークリッドの互除法で 1 = s·n + t·a と書くと、a⁻¹ ≡ t (mod n) です。gcd(a, n) = 1 のとき、合同式 a·x ≡ b (mod n) の解は x ≡ a⁻¹·b です。法が互いに素な 2 つの合同式 x ≡ r₁ (mod m₁) と x ≡ r₂ (mod m₂) には、m₁·m₂ を法として 1 つの解があります(中国の剰余定理)。オイラーの φ(n) は、1 から n までの数のうち n と互いに素なものの個数です:φ(n) = n·∏(1 − 1/p)。

5 の逆元

r = 13, t = 0
r = 5, q = 2, t = 1
r = 3, q = 1, t = −2
r = 2, q = 1, t = 3
r = 1, q = 2, t = −5
5−1 ≡ 8 (mod 13)

解く

x ≡ 8·4 = 32 ≡ 6 (mod 13)
確認: 5·6 = 30 ≡ 4 (mod 13)

答え

x = 6
8.整数論と合同式

答え: 279702 mod 97 = 64

冪剰余と RSA:aᵏ mod n は反復二乗法で計算します:k を 2 進数で書き、二乗し、毎回簡約し、ビットが 1 の冪を掛けます。フェルマー:素数 p が a を割り切らないとき aᵖ⁻¹ ≡ 1 (mod p) なので、指数は p − 1 を法として簡約できます。RSA:素数 p と q を選び、n = p·q、φ(n) = (p − 1)(q − 1) とします。公開指数 e は φ(n) と互いに素で、秘密指数は d = e⁻¹ mod φ(n) です。暗号化は c = mᵉ mod n、復号は m = cᵈ mod n で行います。

指数を簡約する

9702 mod 96 = 6
279702 ≡ 276 (mod 97)

小さい冪

276 mod 97 = 64

答え

279702 mod 97 = 64
9.アルゴリズムと計算量

答え: A · O(n)

これが答えになる理由

0 から n まで表を埋めるには項目ごとに 1 回の加算で済むので、作業量は指数ではなく線形になります。

答え

A · O(n)
10.アルゴリズムと計算量

答え: C · O((V + E) log V)

これが答えになる理由

V 回の最小値取り出しと最大 E 回のキー減少操作があり、それぞれ O(log V) です。フィボナッチヒープを使うと O(E + V log V) に改善されます。

答え

C · O((V + E) log V)
11.データ構造

答え: B · インデックス ⌊(i − 1) / 2⌋

これが答えになる理由

i の子は 2i + 1 と 2i + 2 にあるので、i の親は ⌊(i − 1) / 2⌋ です。1 から始まるインデックスでは ⌊i / 2⌋ になります。

答え

B · インデックス ⌊(i − 1) / 2⌋
12.データ構造

答え: B · 行きがけ順と通りがけ順

これが答えになる理由

行きがけ順は根を与え、通りがけ順の系列におけるその位置が左右の部分木を分けます。行きがけ順と帰りがけ順の組は、子が 1 つだけのノードがあるとあいまいになります。

答え

B · 行きがけ順と通りがけ順
13.グラフ理論

答え: L = 10

オイラー、ハミルトン、木:連結グラフは、すべての頂点の次数が偶数のときオイラー閉路(すべての辺を 1 回ずつ通って始点に戻る)をもち、ちょうど 2 つの頂点の次数が奇数のとき、閉路でないオイラー路をもちます。その路は、一方の奇数次数の頂点から他方へ通ります。ハミルトン閉路はすべての頂点を 1 回ずつ訪れ、Kn には (n − 1)!/2 個あります。n 個の頂点をもつ木には n − 1 本の辺があり、m 本の辺をもつ連結グラフは、m − n + 1 本の辺を取り除いても全域木が残ります。

木の握手補題

L + 16 = 2(L + 4) − 2
L = 10

答え

L = 10

近道:次数 d ≥ 3 の頂点について L = 2 + Σ (d − 2) です。

14.グラフ理論

答え: W = 58

最短経路と全域木:ダイクストラ法は毎ラウンド 1 つの頂点を確定します:暫定距離が最小の未確定の頂点です。その距離は最終となり、各隣接頂点 v は d(v) = min(d(v), d(u) + w(u, v)) と更新されます。クラスカル法は、辺を軽い順に取り、閉路をつくる辺を飛ばして最小全域木をつくります。プリム法は、始点から 1 本の木を成長させ、その木から出る最も軽い辺を常に加えます。n 個の頂点の全域木には n − 1 本の辺があります。

クラスカル法

DF (5): 取る
EF (6): 取る
GE (7): 取る
DE (9): 飛ばす(閉路ができる)
BC (12): 取る
AC (13): 取る
AB (14): 飛ばす(閉路ができる)
CE (15): 取る

重みの合計

W = 5 + 6 + 7 + 12 + 13 + 15 = 58

答え

W = 58
15.データベースと SQL

答え: D · WHERE は SELECT リストより先に評価されるので、別名がまだ存在しないから

これが答えになる理由

論理的には FROM と WHERE が SELECT より先に実行されるため、WHERE で式を繰り返すかサブクエリを使います。ORDER BY は SELECT の後に実行されるので別名を使えます。

答え

D · WHERE は SELECT リストより先に評価されるので、別名がまだ存在しないから
16.データベースと SQL

答え: A · 楽観的同時実行制御

これが答えになる理由

楽観的ロックは競合がまれであると想定し、書き込み時にバージョン列を確認して、その間に別のトランザクションが行を変更していれば失敗させます。

答え

A · 楽観的同時実行制御
17.コンピュータネットワーク

答え: C · 192.168.0.0/23

これが答えになる理由

0 と 1 は第 3 オクテットの最後のビット以外をすべて共有するので、プレフィックスを 1 ビット短くした 192.168.0.0 から始まる /23 が両方をちょうどカバーします。

答え

C · 192.168.0.0/23
18.コンピュータネットワーク

答え: C · 多数の端末が競合しているときに再び衝突する確率を下げるため

これが答えになる理由

衝突が重なるほど競合が多いことを示すため、ランダムな範囲を広げると、端末が異なるスロットを選ぶ可能性が高くなります。中央の制御なしに負荷に適応します。

答え

C · 多数の端末が競合しているときに再び衝突する確率を下げるため
19.IPv4 サブネット化

答え: p = 23

IPv4 サブネット化:アドレスは 32 ビットです。プレフィックス /p は先頭の何ビットがネットワークを表すかを示し、残りの 32 − p ビットでホストを番号付けします。サブネットには 2³²⁻ᵖ 個のアドレスがありますが、最初(ネットワークアドレス)と最後(ブロードキャストアドレス)はホストに割り当てられないため、2³²⁻ᵖ − 2 台のホストが収まります。 例外:/31(ポイントツーポイントリンク、RFC 3021)は 2 つのアドレスを両方ともホストに使い、/32 は単一のアドレス(単一ホストまたはループバック)です。

必要なホストビット数

28 − 2 = 254 < 344
29 − 2 = 510 ≥ 344 → h = 9

プレフィックス長

p = 32 − 9 = 23

答え

p = /23
20.IPv4 サブネット化

答え: x = 128

VLSM:各 LAN には 2ʰ − 2 ≥ ホスト数 となる最小のサブネット、つまりプレフィックス 32 − h を割り当てます。大きいサブネットから割り当てると、各ブロックは自身のサイズの倍数にそろうので、ネットワークアドレスはブロックサイズを足し合わせて求まります。

LAN ごとのブロックサイズ

A: 42 ホスト → 26 = 64 (/26)
C: 33 ホスト → 26 = 64 (/26)
B: 23 ホスト → 25 = 32 (/27)
D: 8 ホスト → 24 = 16 (/28)

割り当て(大きい順)

A: .0 – .63
C: .64 – .127
B: .128 – .159
D: .160 – .175

答え

x = 128

LAN B:192.168.230.128/27。

ExamProblems · examproblems.com/courses/computer-science-fundamentals