アルゴリズム:複素数を乗算


質問する


2つの入力は、文字列形式で1つの複素数(複素数)を与えます.
複素数はa+bi形式の実数と虚数である.
受け取った2つの数にinputを乗じて返してください.
返される表現も複数形の文字列でなければなりません.
複数定義により、(i^2)は-1なので(i^2)の場合は-1で計算してください.
(二乗表示がないので、iの2二乗は(i^2)となります.)
例1:
Input: "1+1i", "1+1i"
Output: "0+2i"
説明:
(1 + i) * (1 + i) = 1 + i + i + i^2 = 2i 
2 iを複数形にすると0+2 i
例2:
Input: "1+-1i", "1+-1i"
Output: "0+-2i"
説明:
(1 - i) * (1 - i) = 1 - i - i + i^2 = -2i, 
-2 iを複数形にすると0+-2 iになります.
例3:
Input: "1+3i", "1+-2i"
Output: "7+1i"
説明:
(1 + 3i) * (1 - 2i) = 1 - 2i + 3i -6(i^2) = 1 + i + 6, 
7+iを複数形にすると7+1 i
家庭
inputは常にa+biフォーマットです.
outputもa+biと表示する必要があります.

に答える


  • a.slice(0, a.length-1) = '1+3'
    ->文字列の最後の文字を除いてインポートします.
  • .split('+')->は、+を基準として、クリップされた要素の配列を返します.
  • 2番目のパラメータであるbも同様である
  • (정수)+(복소수)i回復形状.
    ->整数部はA[0]*B[0]-(A[1]*B[1])の和です.このとき,A[1]*B[1]i^2は無条件負の値となるため,-が加算される.
    ->複数部分はA[0]*B[1]A[1]*B[0]の和です.iを削除し始めたばかりなので、iを追加します.