c207. 二階方陣的反矩陣 (Inverse Matrix)
Tags :
Accepted rate : 2人/3人 ( 67% ) [非即時]
評分方式:
Tolerant

最近更新 : 2026-04-22 15:33

Content

給定一個二階方陣 $A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}$,請撰寫一個程式來計算它的反矩陣 $A^{-1}$。

根據線性代數公式,若方陣 $A$ 的行列式值 $\det(A) = ad - bc$ 不等於 0,則其反矩陣存在,公式如下:

$$A^{-1} = \frac{1}{ad - bc} \begin{bmatrix} d & -b \\ -c & a \end{bmatrix}$$

若 $\det(A) =ad-bc=0$,則該方陣不存在反矩陣。

Input

輸入為四個整數(或浮點數)$a, b, c, d$,分別代表方陣中第一列的兩個元素與第二列的兩個元素。

Output
  • 若反矩陣存在,請輸出該反矩陣的四個元素。

  • 若反矩陣不存在(即 $\det(A) = 0$),則輸出 -1

  • 本題目的小數皆為有限小數。
Sample Input #1
1 5
2 11
Sample Output #1
11 -5
-2 1
Sample Input #2
1 2
2 4
Sample Output #2
-1
測資資訊:
記憶體限制: 64 MB
不公開 測資點#0 (20%): 1.0s , <1K
不公開 測資點#1 (20%): 1.0s , <1K
不公開 測資點#2 (20%): 1.0s , <1K
不公開 測資點#3 (20%): 1.0s , <1K
不公開 測資點#4 (20%): 1.0s , <1K
Hint :

反矩陣高二數學就會學到了,但是程式考題有時候還要鍛鍊你對題目的理解能力,就算你不知道這個概念。 

1. 認識我們的矩陣

假設你有一個 $2 \times 2$ 的矩陣 $A$,裡面包含四個位置的數字 $a, b, c, d$:

$$A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}$$

2. 關鍵第一步:計算「行列式 (Determinant)」

在算反矩陣之前,我們要先算一個關鍵數字,叫做「行列式」。它的計算方法是交叉相乘後相減

  • 左上($a$) 乘 右下($d$) $\rightarrow ad$

  • 右上($b$) 乘 左下($c$) $\rightarrow bc$

  • 將兩者相減:$ad - bc$

3. 第二步:判斷與變身

算出這個關鍵數字 ($ad - bc$) 後,就像過海關一樣,會有兩種結果:

  • 情況一:如果算出來剛好是 $0$

    這代表這個矩陣沒有反矩陣。就像在數學中不能除以 $0$ 一樣,計算就到此為止了。

  • 情況二:如果算出來不是 $0$

    這代表反矩陣存在!接下來你要對原本的矩陣做「三個小動作」來得到反矩陣 $A^{-1}$:

    1. 對角互換: 把左上的 $a$ 和右下的 $d$ 位置對調。

    2. 變換符號: 把右上的 $b$ 和左下的 $c$ 加上負號(原本正的變負,負的變正)。

    3. 除以關鍵數字: 把剛才弄好的矩陣,乘上 $\frac{1}{ad-bc}$(也就是把矩陣裡面的四個數字,都除以你剛剛算出來的行列式值)。

綜合起來,就是圖片中的最終公式:

$$A^{-1} = \frac{1}{ad - bc} \begin{bmatrix} d & -b \\ -c & a \end{bmatrix}$$

 

Tags:
出處:
[管理者: stu310102(Heavenly Shogun) ]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」