アルゴリズム:複素数を乗算
3973 ワード
質問する
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('+')
->は、+
を基準として、クリップされた要素の配列を返します.(정수)+(복소수)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を追加します.Reference
この問題について(アルゴリズム:複素数を乗算), 我々は、より多くの情報をここで見つけました https://velog.io/@celline1637/알고리즘-복소수-곱하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol