ガウス整数は、その実部と虚部の整数である複素数です。
ガウス整数は、通常の整数と同様に、ガウス素数の積として一意の方法で表すことができます。ここでの課題は、指定されたガウス整数の主な構成要素を計算することです。
入力:0ではなく、単位ではないガウス整数(つまり、1、-1、i、および-iは入力として指定できません)。賢明な形式を使用してください。例:
- 4-5i
- -5 * j + 4
- (4、-5)
出力:素数(つまり、2つの非単位ガウス整数の積として表現できないもの)で、その積が入力数に等しいガウス整数のリスト。出力リストのすべての数値は、1、-1、i、または-iではなく、自明でないものでなければなりません。適切な出力形式を使用できます。入力形式と同じである必要はありません。
出力リストに複数の要素がある場合、いくつかの正しい出力が可能です。たとえば、入力9の場合、出力は[3、3]または[-3、-3]または[3i、-3i]または[-3i、3i]になります。
テストケース(この表から取得、テストケースごとに2行)
2
1+i, 1-i
3i
3i
256
1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i
7+9i
1+i,2−i,3+2i
27+15i
1+i,3,7−2i
6840+585i
-1-2i, 1+4i, 2+i, 3, 3, 6+i, 6+i
ガウス整数を因数分解するための組み込み関数は許可されていません。ただし、組み込み関数による通常の整数の因数分解は許可されています。
3i
はi
素数ではないため、正解です。テストケースを更新して、わかりやすくしました。
256=(1+i)**16
ではない(1+i)**8
ので、256=2**8=(2i)**8
と2i=(1+i)**2
3i
として返す3,i
、または3i
?