2025/10/8

開掛人生

 11月只有20個上班日 10月很努力地放了三天假 也才跟11月一樣
 11月就像原住民小孩 考試自帶+30%BUFF
然後又繼承家族所有遺產

 我家就有這一個幼兒
我弟娶了同姓的漢化原住民
卡了從母姓的BUG
由於我又沒結婚 他是一個三代唯一的子嗣
他長大時 我跟我爸媽應該都已經走了
他將來直接繼承三棟房產(其中兩間為商四 819%容積率)
以其我手上的股票

 這開局已經算是開掛了 可以直接躺平

2025/10/1

台綜大B30 計概114 第十題 解答 ※ 販售必究 ※ 台灣台灣綜合大學, 資訊管理系, 轉學考

 Q10. 數學上定義一個複數 (Complex Number) 具有實數部分 + 虛數部分 * i,例如 5 + 4*i。以下請撰寫 ComplexNumber 類別的程式碼(含實部 realpart 與虛部 imagpart),包含簡單的四則運算、模長 magnitude()與共軛 conjugate()。

Ans: 




台綜大B30 計概114 第九題 解答 ※ 販售必究 ※ 台灣綜合大學, 資訊管理系, 轉學考

Q9.  對於給定的表列 ( A ( B ( E ( K, L), F, W ), C ( G ), D ) ):

A) 畫出對應的多路樹 (multi-way tree);

B) 將多路樹轉換為二元樹 (binary tree),並畫出該二元樹。


Ans:


A) 多路樹 (Multi-way Tree)

規則:

  • 每個節點可以有多個子節點。

  • 括號中的內容表示該節點的子節點。

分析

  • 根節點:A

  • A 的子節點:B, C, D

  • B 的子節點:E, F, W

  • E 的子節點:K, L

  • C 的子節點:G

  • D 沒有子節點

多路樹結構圖

A / | \ B C D / | \ \ E F W - / \ K L | -
  • 說明:每個節點用直線連到它的子節點。

  • - 表示該節點沒有更多子節點。


B) 將多路樹轉換為二元樹 (Binary Tree)

轉換規則 (左子 + 右兄弟表示法 Left-child, Right-sibling)

  1. 每個節點的 第一個子節點 成為 左子節點 (left child)

  2. 其他子節點依序成為 右兄弟 (right sibling)

轉換步驟

  • A 左子節點 → B

  • B 右兄弟 → CC 右兄弟 → D

  • B 的左子節點 → E

  • E 右兄弟 → FF 右兄弟 → W

  • E 的左子節點 → K

  • K 右兄弟 → L

  • C 的左子節點 → G

  • D 沒有子節點

對應二元樹結構圖

A / B / \ E C / \ \ K F D \ \ L W / G

為了更清楚,我整理成標準二元樹表示:

A | B | \ E C | \ \ K F D \ \ L W | G

台綜大B30 計概114 第八題 解答 ※ 販售必究 ※ 台灣綜合大學; 資訊管理系; 轉學考

 Q8. MyFibo 數列定義為 f₀ = 1, f₁ = 2, f₂ = 3, 且 fₖ = fₖ₋₁ + fₖ₋₂ + fₖ₋₃ (k ≥ 2)。請分別寫出該數列的遞迴與迭代演算法(以虛擬碼或 C/C#/Java 語法撰寫)。

Ans:

好的,我幫你整理 MyFibo 數列遞迴迭代 演算法。

定義:

  • f₀ = 1

  • f₁ = 2

  • f₂ = 3

  • fₖ = fₖ₋₁ + fₖ₋₂ + fₖ₋₃, for k ≥ 3


遞迴演算法 (Recursive)

偽代碼 / C-like 語法

int MyFibo(int k) { if (k == 0) return 1; if (k == 1) return 2; if (k == 2) return 3; return MyFibo(k - 1) + MyFibo(k - 2) + MyFibo(k - 3); }

迭代演算法 (Iterative)

偽代碼 / C-like 語法

int MyFiboIter(int k) { if (k == 0) return 1; if (k == 1) return 2; if (k == 2) return 3; int f0 = 1, f1 = 2, f2 = 3; int f = 0; for (int i = 3; i <= k; i++) { f = f0 + f1 + f2; // shift window f0 = f1; f1 = f2; f2 = f; } return f; }

👉 範例:計算前幾項

  • f₀ = 1

  • f₁ = 2

  • f₂ = 3

  • f₃ = 1 + 2 + 3 = 6

  • f₄ = 2 + 3 + 6 = 11

  • f₅ = 3 + 6 + 11 = 20

所以序列開頭是: 1, 2, 3, 6, 11, 20, …





台綜大B30 計概114 第七題 解答 ※ 販售必究 ※ 台灣綜合大學, 資訊管理系, 轉學考

Q7. 請將下列類似C語言的運算式寫成前序表示式 (prefix form)。請注意 && 與 || 的優先順序相同(且為由左至右):

A) a && b || (c>d) || !(e>f) || a+b
B) !a && (b<c) || x

Ans:

題目有特別說明:&&|| 的優先順序相同,且由左至右 (left-to-right)。這跟標準 C 稍微不同,標準 C 其實是 &&|| 優先,但這裡規則是相同、且左結合。

A) a && b || (c>d) || !(e>f) || a+b

  1. 先看結合方向:

    (((a && b) || (c > d)) || !(e > f)) || (a + b)

    這樣從左到右展開。

  2. 前序表示:

    • (a && b)&& a b

    • ((a && b) || (c > d))|| (&& a b) (> c d)

    • (((a && b) || (c > d)) || !(e > f))|| (|| (&& a b) (> c d)) (! (> e f))

    • 最後再和 (a + b)

      || (|| (|| (&& a b) (> c d)) (! (> e f))) (+ a b)

前序結果:

|| (|| (|| (&& a b) (> c d)) (! (> e f))) (+ a b)

B) !a && (b<c) || x

  1. 按左至右結合:

    ((!a && (b < c)) || x)
  2. 前序表示:

    • !a! a

    • (b < c)< b c

    • (!a && (b < c))&& (! a) (< b c)

    • ((!a && (b < c)) || x)|| (&& (! a) (< b c)) x

前序結果:

|| (&& (! a) (< b c)) x